我有一个旧项目,其中包含一些简单的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。

感谢任何帮助!

最佳答案

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

07-27 19:52
查看更多