如何在Spring boot中与Spring MVC一起提供传统的jsp页面?

时间:2017-05-10 16:03:50

标签: java jsp spring-mvc spring-boot

我有一个遗留项目,里面有一些简单的JSP页面。

我们正在慢慢用Spring MVC替换这些JSP页面,但我需要继续使用MVC模式实现那些尚未实现的JSP,作为一个单一的Web应用程序。

所以,我应该最终得到这样的东西:

情况A: /legacy-url1/index.jsp - >应该像JSP页面一样可以访问,没有控制器。

情况B: /legacy-url2/index.jsp - > / new-url2 / - >应该使用spring mvc控制器提供服务,使用thymeleaf html文件填充视图。

情况B正如预期的那样工作,我尝试摆弄SimpleUrlHandlerMapping和UrlFilenameViewController,如下所示:

    @Bean
    public SimpleUrlHandlerMapping simpleUrlHandlerMapping() {
        SimpleUrlHandlerMapping mapping = new SimpleUrlHandlerMapping();

        Properties urlProperties = new Properties();
        urlProperties.put("*.jsp", "urlFilenameViewController");

        mapping.setMappings(urlProperties);

        return mapping;
    }

    @Bean
    public UrlFilenameViewController urlFilenameViewController() {
        UrlFilenameViewController urlFilenameViewController = new UrlFilenameViewController();
        urlFilenameViewController.setPrefix("/jsp/");

        return urlFilenameViewController;
    }

关于如何实现这一目标的任何想法?我可能会遗漏一些东西,但谷歌搜索答案却没有成功。

我正在使用带有java配置的spring boot。

感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

对于每个旧的JSP页面,define view controllers可以通过configure 2 view resolvers进行适当的排序。