Spring MVC 与 Thymeleaf 集成 + 现有 JSP apache tiles

Spring MVC Integration with Thymeleaf + Existing JSP apache tiles

我正在尝试使用 Spring MVC 配置 Thymeleaf Html 页面。我有控制器方法,我试图从中 return thymeleaf 模板 html 页面。它现有的项目使用 spring mvc + tiles.I 需要将 thymeleaf 集成到现有项目中。模板引擎是自动装配的,来自不同的 Jar 文件。我在下面提供了配置。我没有遇到任何异常,但是当我尝试加载页面时却找不到页面。

是否可以有一个流程使用 Tiles + Jps 解析视图,而另一个流程使用 Thymeleaf 模板。我怎样才能实现它。

   @Controller
   @RequestMapping("/thymeleafConfiguration")
   public class ConfigController {

    @Autowired
    TemplateEngine templateEngine; // This class is coming from different jar and I have 
                                    //autowired. xml configuration is provided for reference
    
    
    @PostConstruct   // Changes needs to apply only to certain class so I am using 
                        //postconstruct method in controller 
                        // where I need to use thymeleaf template. 
    public void Init() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setCacheable(false);
        templateResolver.setPrefix("/templates/thymeleafPage/");
        templateResolver.setSuffix(".html");

        templateEngine.setTemplateResolver(templateResolver);

        
        ThymeleafViewResolver resolver = new ThymeleafViewResolver();
        resolver.setOrder(1);
        resolver.setTemplateEngine(templateEngine);
 
    }
    @RequestMapping(value = "/view") // controller method where I am redirecting thymeleaf 
                                         page
    public String  viewTemplate(){      
        return "thymeleaf";
    }
}

申请-context.xml

<bean id="thymeleafProcessor" class="com.java.ThymeleafTemplateProcessor">
    <property name="templateEngine" ref="templateEngine"/>
</bean>

<bean id="htmlStringTemplateResolver" class="org.thymeleaf.templateresolver.StringTemplateResolver">
    <property name="templateMode" value="HTML" />
    <property name="cacheable" value="true" />
</bean>

<bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
    <property name="enableSpringELCompiler" value="true" />
    <property name="templateResolvers">
        <set>
            <ref bean="htmlStringTemplateResolver" />
        </set>
    </property>
</bean>

项目结构:

  myProject
  |
  |Src 
        -Java
        
        -templates
          -thymeleafPage        
            - thymeleaf.html
            
        -webContent

web.xml

<servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>*.*</url-pattern>
    </servlet-mapping>

能否指导我如何加载页面。我已经提到了 thymeleaf 的文档 ThymeleafDocumetation Tutorial

我遵循了一些例子,但没有发现太大的不同。我感谢您的帮助。 乔丹

我找到了如何让它同时适用于 Jsp 、 HTML 和 Thymeleaf 模板的解决方案。 谢谢