当前 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/