简体   繁体   中英

Adding Custom Thymeleaf Template Resolver to Spring Boot

By Default, Spring Boot Application searches thymeleaf templates under classpath://templates

How do we add one more resolver For Eg, We need to search templates from local directory like "c:\\MyTemplates" using FileTemplateResolver ?

You can add more template resolvers on the TemplateEngine either by invoking the setTemplateResolvers method or by invoking the addTemplateResolver method with your FileTemplateResolver .

@Configuration
public class ThymeleafExtension {

    @Autowired
    private SpringTemplateEngine templateEngine;

    @PostConstruct
    public void extension() {
        FileTemplateResolver resolver = new FileTemplateResolver();
        resolver.setPrefix("D:\\templates\\");
        resolver.setSuffix(".html");
        resolver.setTemplateMode("HTML5");
        resolver.setOrder(templateEngine.getTemplateResolvers().size());
        resolver.setCacheable(false);
        templateEngine.addTemplateResolver(resolver);
    }
}

A slight improvement of the previous answer:

@Configuration
public class ThymeleafConfig {

    public ThymeleafConfig(TemplateEngine templateEngine) {
        templateEngine.addTemplateResolver(new StringTemplateResolver());
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM