我在Spring中创建了Simple MVC项目。 Defaultr泛型jsp页面。我尝试将jsp更改为html和i:
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
替换这个:
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".html" />
</beans:bean>
并在views文件夹中创建html页面,但在更改并尝试运行后我有这个错误:
WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/myapp/WEB-INF/views/home.html] in DispatcherServlet with name 'appServlet'
为什么我有这个错误?我只将jsp更改为html。
答案 0 :(得分:2)
InternalResourceViewResolver
不会将请求转发到视图文件夹。相反,它负责根据Controller(Method)的返回值选择'jsp'(或者什么)。像
@RequestMapping("home")
public ModelAndView controllerMethodForHome(){
//will render /WEB-INF/views/homeView.html
return new ModelAndView("homeView");
}
使用:
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".html" />
</beans:bean>
将返回/WEB-INF/views/homeView.html
localhost:8080/myApp/home
也许您想要使用的是静态资源映射
<mvc:resources mapping="/css/**" location="/resources/css/" />
查看此question/answer示例