Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回带有url路径参数的静态页面_Java_Spring Mvc_Spring Boot_Request Mapping - Fatal编程技术网

Java 返回带有url路径参数的静态页面

Java 返回带有url路径参数的静态页面,java,spring-mvc,spring-boot,request-mapping,Java,Spring Mvc,Spring Boot,Request Mapping,我有以下控制器 @Controller @RequestMapping("/room/{roomId:^(?!main.html$).*}") public class Rooms { @RequestMapping public String index(@PathVariable(value = "roomId") String id) { // do some stuff... return "main.html"; } } 我的资源

我有以下控制器

@Controller
@RequestMapping("/room/{roomId:^(?!main.html$).*}")
public class Rooms {

    @RequestMapping
    public String index(@PathVariable(value = "roomId") String id) {
       // do some stuff...
       return "main.html";
    }
}
我的资源/静态文件夹中有一个main.html文件。我希望当用户转到/room/{something}进行一些处理时,返回我拥有的static main.html页面

我尝试的所有操作都会导致页面未找到异常或

javax.servlet.ServletException: Circular view path [main.html]: 
would dispatch back to the current handler URL 
[/room/main.html] again
我错过了什么才能让它发挥作用


如果您正在课堂上为视图解析器进行配置,请感谢您的帮助

@Bean
    public UrlBasedViewResolver urlBasedViewResolver()
    {
        UrlBasedViewResolver res = new InternalResourceViewResolver();
        res.setViewClass(JstlView.class);
        res.setPrefix("/WEB-INF/");
        res.setSuffix(".jsp");
        return res;
    }
如果使用xml

<beans:bean     class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/jsp/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

如果您在类中为视图解析器进行配置

@Bean
    public UrlBasedViewResolver urlBasedViewResolver()
    {
        UrlBasedViewResolver res = new InternalResourceViewResolver();
        res.setViewClass(JstlView.class);
        res.setPrefix("/WEB-INF/");
        res.setSuffix(".jsp");
        return res;
    }
如果使用xml

<beans:bean     class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <beans:property name="prefix" value="/WEB-INF/jsp/" />
        <beans:property name="suffix" value=".jsp" />
    </beans:bean>

你在项目中添加了InternalViewResolver?没有。我对这个春天的东西是全新的。我以为spring应该能够在没有任何配置的情况下处理html文件?如何添加内部视图解析器?另外,如果我没有URL路径参数,然后返回main.html,它也可以正常工作。只有当我引入URL路径参数时才会出现问题。嘿!你解决了这个问题吗?我被困在完全相同的点上。你们在项目中添加了InternalViewResolver?不。我对这个春天的东西是全新的。我以为spring应该能够在没有任何配置的情况下处理html文件?如何添加内部视图解析器?另外,如果我没有URL路径参数,然后返回main.html,它也可以正常工作。只有当我引入URL路径参数时才会出现问题。嘿!你解决了这个问题吗?我被困在同一点上。谢谢你的建议。只要我能,我就会试试这个。两个问题。为什么要将后缀设置为.jsp?我的文件是main.html。如果我的html文件在resources/static中,为什么前缀是WEB-INF/jsp?我应该移动我的文件吗?最后,我当然可以将代码更改为您提供的代码。但是,您能解释一下为什么返回一个模型和视图而不是我拥有的字符串吗?谢谢您也可以设置.html。我使用了.jsp,这就是我编写的原因。您可以更改它。通常jsp文件保存在web-Inf中的文件夹中。但是您也可以更改文件的位置。这都是关于配置的。只需在配置文件中提及正确的位置即可。我没有尝试使用返回字符串的方法,但您可以尝试使用谢谢你的建议。只要我能,我就会试试这个。两个问题。为什么要将后缀设置为.jsp?我的文件是main.html。如果我的html文件在resources/static中,为什么前缀是WEB-INF/jsp?我应该移动我的文件吗?最后,我当然可以将代码更改为您提供的代码。但是,您能解释一下为什么返回一个模型和视图而不是我拥有的字符串吗?谢谢您也可以设置.html。我使用了.jsp,这就是我编写的原因。您可以更改它。通常jsp文件保存在web-Inf中的文件夹中。但是您也可以更改文件的位置。这都是关于配置的。只需在配置文件中提及正确的位置即可。我没有尝试使用返回字符串的方法,但您可以尝试使用那个