private static void setCachable(ThymeleafTemplateEngine thEngine, Properties properties) { if (properties.containsKey(CACHE_ENABLED_PROPERTY)) { boolean cachable = Boolean.parseBoolean(properties.getProperty(CACHE_ENABLED_PROPERTY)); TemplateEngine te = thEngine.getThymeleafTemplateEngine(); ConditionalCommentsDialect ccd = new ConditionalCommentsDialect(); te.addDialect(ccd); Set<ITemplateResolver> trs = te.getTemplateResolvers(); for (ITemplateResolver tr : trs) { ((TemplateResolver) tr).setCacheable(cachable); } } }
/** * This bean gets picked up automatically by {@link ThymeleafAutoConfiguration}. */ @Bean public ITemplateResolver navigationTemplateResolver() { TemplateResolver resolver = new TemplateResolver(); resolver.setOrder(30); resolver.setResourceResolver(navigationResourceResolver()); resolver.setPrefix(this.properties.getPrefix()); resolver.setSuffix(this.properties.getSuffix()); resolver.setTemplateMode(this.properties.getMode()); resolver.setCharacterEncoding(this.properties.getEncoding()); resolver.setCacheable(this.properties.isCache()); return resolver; }
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.thymeleaf.spring4.SpringTemplateEngine; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; import org.thymeleaf.templateresolver.TemplateResolver; @Configuration public class TemplateEngineConfig { @Bean public SpringTemplateEngine templateEngine() { SpringTemplateEngine templateEngine = new SpringTemplateEngine(); templateEngine.addTemplateResolver(templateResolver()); return templateEngine; } private TemplateResolver templateResolver() { TemplateResolver resolver = new ClassLoaderTemplateResolver(); resolver.setPrefix("templates/mail/"); resolver.setSuffix(".html"); resolver.setTemplateMode("HTML5"); resolver.setOrder(1); resolver.setCacheable(true); return resolver; } }
templateResolver.setSuffix(".html"); templateResolver.setTemplateMode("HTML5"); templateResolver.setCacheable(false); return templateResolver;