HTML页面和Spring

时间:2013-10-22 16:18:37

标签: html spring spring-mvc

我在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。

1 个答案:

答案 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示例