我是在spring boot 中遇到的这个问题,
查过资料后,发现是path和view 重名了,
@RequestMapping("/index")
public String indexView() {
return "index";
}
修改为
@RequestMapping("/home")
public String indexView() {
return "index";
}
了解了一下原因 具体原因如下
当没有声明ViewResolver时,spring会注册一个默认的ViewResolver,就是JstlView的实例, 该对象继承自InternalResoureView。
JstlView用来封装JSP或者同一Web应用中的其他资源,它将model对象作为request请求的属性值暴露出来, 并将该请求通过javax.servlet.RequestDispatcher转发到指定的URL.
Spring认为, 这个view的URL是可以用来指定同一web应用中特定资源的,是可以被RequestDispatcher转发的。
也就是说,在页面渲染(render)之前,Spring会试图使用RequestDispatcher来继续转发该请求。
有如下几种错误代码
示例一:
@RequestMapping("/home")
public void indexView() {
//代码片段
}
示例二:
@RequestMapping("/home")
public String indexView() {
return null;
}
实例三,就是我出现的错误,path和view重名