当前,使用属性Spring Boot为Thymeleaf模板位置允许一个值spring.thymeleaf.prefix。
Spring Boot
Thymeleaf
spring.thymeleaf.prefix
默认值为classpath:/templates/。
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; }
我的例子