[英]How can I prevent Thyemleaf from urlencoding my template?
We have the following thymeleaf config: 我们有以下百里香配置:
@Bean
public TemplateEngine emailTemplateEngine() {
final SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.addTemplateResolver(htmlTemplateResolver());
templateEngine.addTemplateResolver(stringTemplateResolver());
return templateEngine;
}
private ITemplateResolver htmlTemplateResolver() {
final ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setOrder(1);
templateResolver.setResolvablePatterns(Collections.singleton("templates/*"));
templateResolver.setSuffix(".html");
templateResolver.setTemplateMode(TemplateMode.HTML);
templateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());
templateResolver.setCacheable(false);
return templateResolver;
}
private ITemplateResolver stringTemplateResolver() {
final StringTemplateResolver templateResolver = new StringTemplateResolver();
templateResolver.setOrder(2);
templateResolver.setTemplateMode(TemplateMode.TEXT);
templateResolver.setCacheable(false);
return templateResolver;
}
That is - two resolvers, one for html, one for text. 那就是-两个解析器,一个用于html,一个用于文本。
We use the html one for the body of our emails, the text one for the subject. 我们将html用作电子邮件的正文,将文本用作主题。
Given: 鉴于:
a subject "template" (a plain string) like this: "[[${values.createdBy}]] created a widget"
这样的主题“模板”(纯字符串): "[[${values.createdBy}]] created a widget"
a values.createdBy
value of Brock O'Samson
Brock O'Samson
的values.createdBy
值
We are seeing the result: Brock O'Samson
我们正在看到结果: Brock O'Samson
Any ideas what to config? 任何想法要配置什么? The "template mode" seemed like the obvious solution, but it was already set to TEXT. “模板模式”似乎是显而易见的解决方案,但已将其设置为TEXT。
Two independent approaches: 两种独立的方法:
Set template mode in stringTemplateResolver()
to TemplateMode.LEGACYHTML5
(deprecated) 将stringTemplateResolver()
模板模式设置为TemplateMode.LEGACYHTML5
(不建议使用)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.