我使用 Thymeleaf 作为我的电子邮件模板,并且通过谷歌搜索并能够使用以下配置成功运行代码:-
@Configuration
public class TemplateEngineConfig {
@Autowired
private MailConfigProps mailConfigProps;
@Bean
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addTemplateResolver(templateResolver());
return templateEngine;
}
private TemplateResolver templateResolver() {
TemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix(mailConfigProps.getTemplatePath());
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setOrder(1);
resolver.setCacheable(true);
return resolver;
}
}
除了 setOrder 之外,这里的所有内容对我来说都是可以理解的。我尝试在不同的地方查找它,我得到的唯一信息是“为链中的模板引擎设置新顺序。顺序应从 1 开始。".
以下是文档的内容:
setOrder
public void setOrder(Integer order)
Sets a new order for the template engine in the chain. Order should start with 1.
Parameters:
order - the new order.
Can someone please share why `setOrder` is there and when should it be used in my application and what should be the appropriate values to be set in different scenarios.
如果我不提供这个值会怎样?
您的应用程序可能使用不同类型的模板,例如HTML, TXT or String
等等。这些可能有多种类型的模板解析器。这些多个模板解析器可以注册到template engine
。应用程序中的所有视图解析器都在有序链中执行,直到其中一个能够解析该视图。因此,TemplateResolver#setOrder
基本上决定了链的顺序。有一个resolvablePatterns
属性用于确定模板解析器是否会考虑由其解析视图名称。您还可以设置resolvablePatterns
by setResolvablePatterns
templateResolver.setResolvablePatterns(Collections.singleton("text/*"));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)