【问题标题】:Remove prefix and suffix of page url in spring MVC在spring MVC中删除页面url的前缀和后缀
【发布时间】:2015-06-10 08:53:48
【问题描述】:
我使用 spring mvc 创建了控制器:
@Controller
public class MyController {
@RequestMapping("/")
public String showHome() {
return “/WEB-INF/pages/home.jsp";
}
@RequestMapping(“/users")
public String showUser() {
return "/WEB-INF/pages/users.jsp";
}
}
我想避免在每个方法和控制器中写这个/WEB-INF/pages,有没有办法只写jsp页面的名称(有或没有文件夹),应用程序返回正确的页面?
【问题讨论】:
标签:
java
spring
jsp
spring-mvc
【解决方案1】:
使用 Spring MVC InternalResourceViewResolver 在 spring 配置文件中添加这个:
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
并且只在控制器中返回“家”
在您的注解驱动配置中,InternalResourceViewResolver 应设置在扩展 WebMvcConfigurerAdapter 的配置类中,如下所示:
@Bean
public ViewResolver getViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/pages/");
resolver.setSuffix(".jsp");
return resolver;
}