jde*_*dev 3 java spring jsp spring-mvc
我使用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";
}
}
Run Code Online (Sandbox Code Playgroud)
我想避免在每个方法和控制器中编写这个/ WEB-INF/pages,有没有办法只写jsp页面的名称(带文件夹或没有),并且应用程序返回正确的页面?
InternalResourceViewResolver
通过在spring配置文件中添加它来使用Spring MVC :
<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>
Run Code Online (Sandbox Code Playgroud)
并且只在控制器中返回"home"
在注释驱动的配置中,InternalResourceViewResolver
应该在配置类中进行设置,WebMvcConfigurerAdapter
如下所示:
@Bean
public ViewResolver getViewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/pages/");
resolver.setSuffix(".jsp");
return resolver;
}
Run Code Online (Sandbox Code Playgroud)