Spring + thymeleaf html电子邮件模板,如何在邮件中添加html标签?

问题描述:

我想使用Thymeleaf引擎从我的应用程序发送html电子邮件。我可以发送HTML电子邮件时,问题就来了,当我要绑定模板,让我们说Spring + thymeleaf html电子邮件模板,如何在邮件中添加html标签?

<!DOCTYPE html> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> 
<head></head> 
<body> 
    <span th:text="${message}"></span> 


</body> 
</html> 

${message}来自一个控制器和它的,国际化的消息,让我明白了这样

String message = messageSource.getMessage("email_message", null, locale); 

并且email_message位于我的messages_xx.properties文件中,具体取决于locale 是否可以在message中添加html标记?

如果我喜欢写东西

Hello <b>User</b><br/>Welcome! 
在电子邮件我真的得到这个消息

,因为标签不被解析

尝试Unescaped Text

<span th:utext="${message}"></span> 

注意text - >utext更改。

它不HTML特殊字符(如<>&),也就是说,它不会将它们转&lt;,“>”,“&”,所以它逐字输出的文本。

请注意,如果插入的文本不是来自绝对可信的来源,则此配置会为XSS攻击留下一个漏洞。当然,如果你只想从自己编写的属性文件中插入一些文本,那就没关系。

+0

谢谢,我在看春天里面的东西,没有想到直接进入Thymeleaf! – besmart