Spring 4默认提供内容的目录是什么,如何更改?我使用的是Spring Tool Suite,并使用顶部工具栏中的 New-> Spring Project 生成了这个项目。
这是我当前目录设置的列表..我似乎无法将home.jsp放在正确的位置,以便它为页面提供服务 - 我一直在获得404.
以下是我的控制器的代码:
我当前的目录结构:
这类事情的最佳做法是什么?如何使其正常运行?
答案 0 :(得分:2)
Spring在您在配置中指定的位置查找视图,即在ViewResolver
bean的定义中查找视图。因此,要让Spring注册视图(在您的情况下位于/WEB-INF/views
中),您必须在Spring配置中使用以下bean:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
或者如果您使用的是Java配置:
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
指定此配置后,应正确解析视图。
如果您不想配置ViewResolver,还可以从控制器方法返回视图的绝对位置:
return "/WEB-INF/views/home.jsp"