如何通过Spring Boot在两个不同的位置支持JSP文件?

时间:2018-11-22 13:14:09

标签: java spring jsp spring-boot

出于某些特殊原因,我必须在两个不同的位置支持JSP文件。

当前,我编写了以下配置:

@Configuration
public class JSPConfig {

    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/webpage/");
        viewResolver.setSuffix(".jsp");
        viewResolver.setOrder(1);
        return viewResolver;
    }

    @Bean
    public InternalResourceViewResolver viewResolver2() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/webpage/");
        viewResolver.setSuffix(".jsp");
        viewResolver.setOrder(2);
        return viewResolver;
    }

}

但是它不起作用。第一个InternalResourceViewResolver用于我项目中的JSP文件,它可以正常工作。第二个是用于第一个第三方jar中的JSP文件,其路径为{jarfilename}\org\apache\jsp\webpage\modules\gen。最终war文件中的第三方jar文件的路径为{warfilename}\WEB-INF\lib\。我在一个控制器中将JSP文件用作modules/gen/{some_jsp_name_without_suffix}。不幸的是,无法找到第3个JSP文件。

通过逐步调试,我注意到原因是它从未尝试在当前配置下定位和匹配第二个InternalResourceViewResolver。它尝试匹配第一个视图解析器,但失败。它尝试匹配某些.ftl视图解析器,但失败。

有人可以帮我吗? Spring Boot是否支持在两个不同的路径下定位JSP文件?

非常感谢。

0 个答案:

没有答案