我想使用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!
在电子邮件中我直接得到此消息,因为标签未被解析
答案 0 :(得分:0)
<span th:utext="${message}"></span>
请注意text
- &gt; utext
更改。
它不会转义html特殊字符(例如<
,>
,&
),也就是说,它不会将它们转换为<
,'&gt;' ,'&amp;',所以它逐字输出文字。
请注意,如果您插入的文本不是来自绝对可靠的来源,则此类配置会为XSS攻击留下漏洞。当然,如果您只想从自己编写的属性文件中插入一些文本,那就没关系。