在spring MVC中删除页面url的前缀和后缀

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页面的名称(带文件夹或没有),并且应用程序返回正确的页面?

Saf*_*azi 5

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)