Spring Boot中Thymeleaf的几个模板位置

当前,使用属性Spring Boot" title="Spring Boot">Spring BootThymeleaf模板位置允许一个值spring.thymeleaf.prefix

默认值为classpath:/templates/

我想在jar外面有一个百里香模板的位置(但要保留默认位置),例如:

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

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

回答:

在application.properties文件中定义以下设置

spring.thymeleaf.templateResolverOrder=1

现在在您的自定义Bean中创建ITemplateResolver并将order和前缀和后缀设置为0,这样spring boot会监听两个地方

将顺序设置为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;

}

我的例子

以上是 Spring Boot中Thymeleaf的几个模板位置 的全部内容, 来源链接: utcz.com/qa/434607.html

回到顶部