Spring Boot中Thymeleaf的几个模板位置

her*_*rau 6 thymeleaf spring-boot

目前,使用属性Spring BootThymeleaf模板位置提供一个值spring.thymeleaf.prefix.

默认值为classpath:/templates/.

我想在jar之外为百万富翁模板设置另一个位置(但保留默认值),例如:

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

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

raj*_*lli 7

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

spring.thymeleaf.templateResolverOrder=1 
Run Code Online (Sandbox Code Playgroud)

现在在你的自定义Bean中创建ITemplateResolver设置顺序为0以及前缀和后缀.这样春季启动会听两个地方

将顺序设置为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;
    }
Run Code Online (Sandbox Code Playgroud)

myexample中