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中的文件夹中。但是您也可以更改文件的位置。这都是关于配置的。只需在配置文件中提及正确的位置即可。我没有尝试使用返回字符串的方法,但您可以尝试使用那个