0

我在 Spring 中创建了 Simple MVC 项目。Defaultr 通用的一个jsp 页面。我尝试将jsp更改为html并且我:

<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>

并在视图文件夹中创建 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。

4

1 回答 1

2

InternalResourceViewResolver不会将请求转发到视图文件夹。相反,它负责根据控制器(方法)的返回值选择“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.htmlforlocalhost:8080/myApp/home


也许您想要使用的是静态资源映射

<mvc:resources mapping="/css/**" location="/resources/css/" />

看看这个问题/答案的例子

于 2013-10-22T16:31:33.817 回答