简体   繁体   English

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

[英]How to serve legacy jsp pages alongside Spring MVC in spring boot?

I have a legacy project with some simple JSP pages in it. 我有一个遗留项目,里面有一些简单的JSP页面。

We are slowly replacing those JSP pages with Spring MVC, but I need to keep serving those JSPs not yet implemented with the MVC pattern, as one single web app. 我们正在慢慢用Spring MVC替换那些JSP页面,但是我需要继续使用MVC模式来实现那些尚未实现的JSP,作为一个单独的Web应用程序。

So, I should end up with something like this: 所以,我应该最终得到这样的东西:

Situation A: /legacy-url1/index.jsp -> should still be available for access like a JSP page, no controllers. 情况A:/legacy-url1/index.jsp - >仍然可以像JSP页面一样访问,没有控制器。

Situation B: /legacy-url2/index.jsp -> /new-url2/ -> should be served from a spring mvc controller, populating a view using thymeleaf html files. 情况B:/legacy-url2/index.jsp - > / new-url2 / - >应该从spring mvc控制器提供,使用thymeleaf html文件填充视图。

Situation B is working, as expected, and I tried fiddling with SimpleUrlHandlerMapping and UrlFilenameViewController, like this: 情况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;
    }

Any ideas on how to accomplish this? 有关如何实现这一目标的任何想法? I may be missing something, but my googling for an answer has been unsuccessful. 我可能会遗漏一些东西,但我的谷歌搜索答案是不成功的。

I am using spring boot with java configuration. 我正在使用java配置的spring boot。

Appreciate any help! 感谢任何帮助!

可以通过为每个旧JSP页面定义视图控制器 ,并通过配置2个具有适当排序的视图解析器

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM