spring-boot - Spring Boot 中 Thymeleaf 的几个模板位置

标签 spring-boot thymeleaf

当前 Spring Boot Thymeleaf 允许一个值模板位置与 spring.thymeleaf.prefix属性(property)。

The default value is classpath:/templates/.



我想在 jar 外为 thymeleaf 模板设置另一个位置(但保留默认位置),例如:

spring.thymeleaf.prefix = classpath:/templates/, file:/resources/templates



我是否必须为我想要的新位置定义另一个模板解析器?

最佳答案

application.properties 中定义设置文件

spring.thymeleaf.templateResolverOrder=1 
现在,在创建 ITemplateResolver 的自定义 Bean 中,将 order 以及前缀和后缀设置为 0。这样 spring boot 会在两个地方都听
将 order 设置为 0 很重要
bean 创建的一个例子可以是
@Bean
public ClassLoaderTemplateResolver emailTemplateResolver() {
    ClassLoaderTemplateResolver emailTemplateResolver = new ClassLoaderTemplateResolver();
    emailTemplateResolver.setPrefix("mails/");
    emailTemplateResolver.setSuffix(".html");
    emailTemplateResolver.setTemplateMode(TemplateMode.HTML);
    emailTemplateResolver.setCharacterEncoding("UTF-8");
    emailTemplateResolver.setOrder(0);
    emailTemplateResolver.setCheckExistence(true);

    return emailTemplateResolver;
}
MyExample

关于spring-boot - Spring Boot 中 Thymeleaf 的几个模板位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42693692/

相关文章:

html - Thymeleaf - 我无法使用 Link th :href 将两个值从 HTML 传递到 Controller

java - 如何在 Spring Boot 中使用 Thymeleaf 将值传递给 HTML 模板的变量

java - 如何使用 thymeleaf 递归渲染菜单

maven - 如何从 maven 导入范围中排除 spring-boot-dependencies 的传递依赖

java - 具有 Vaadin UI 的 Spring Boot 应用程序不断刷新屏幕

spring - @Cacheable 注解给出 404

Spring Boot : The managed version is 1. 3.2.RELEASE Artifact 在 org.springframework.boot :spring-boot-dependencies:1. 3.2.RELEASE 中管理

java - Spring Boot RestTemplate : Error 415 Unsupported Media Type

javascript - 如何使用 thymeleaf 通过参数传递隐藏字段?

javascript - AngularJS 和 Thymeleaf 之间的冲突