不要逃避 Thymeleaf 中的 th:content 标签

Posted

技术标签:

【中文标题】不要逃避 Thymeleaf 中的 th:content 标签【英文标题】:Don't escape th:content tag in Thymeleaf 【发布时间】:2015-01-09 00:37:37 【问题描述】:

我目前正在使用 Thymleaf 2.1.3 从事 Spring Boot 项目。我正在向页面添加一些元标记,方法是:

<meta name="pagename" th:content="$pagename"/>

pagename 变量由控制器填写。这行得通,但事实上 pagename 是 html 转义的。这对我的应用程序来说是不正确的行为。我自己清理数据,然后将其放在内容标签中。

我环顾四周,发现 th:inline,它不适用于内容标签。还找到了 th:utext,但这也不适用于 th:content..

有人知道这个问题的解决方案吗?

谢谢!

【问题讨论】:

【参考方案1】:

据我所知,Thymeleaf 总是会转义进入 HTML 属性的内容,这与规定内容应该转义的 XML/HTML 规范一致。也就是说,论坛上其他人尝试做同样的事情时可能会讨论一些解决方法:http://forum.thymeleaf.org/How-to-get-unescaped-text-into-title-attribute-td4027791.html

一个涉及创建自己的属性处理器,另一个是语法 hack。

您必须先自己清理内容吗?不能让Thymeleaf在view层做吗?

【讨论】:

以上是关于不要逃避 Thymeleaf 中的 th:content 标签的主要内容,如果未能解决你的问题,请参考以下文章

我再说一遍:不要裸辞不要裸辞!真正的勇士都敢于直面惨淡人生,而不是逃避!

在codeigniter中逃避足够的防止sql注入的保护

对于技术债:大家选择逃避,而管理者应该与他共存

如何逃避C的printf中的%(百分号)符号?

是否有一个“break”标签来逃避 Liquid 中的循环?

天赋是积累出来的