You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用th:text属性的h标签中添加MDB图标?

解决方案

核心原因是th:text属性会覆盖宿主标签的全部内部内容,包括嵌套的子标签,因此不能将图标和th:text放在同一个标签内,可通过以下两种安全合规的方式实现需求:

方案1:嵌套独立文本标签(最推荐)

将动态渲染的文本内容放到span等内联子标签中,把th:text属性写在子标签上,图标和文本标签同级存放于h2内即可:

<h2 class="mt-5 text-center text-white">
  <span th:text="|${category} - newest posts|">politics - newest posts</span>
  <i class="fas fa-landmark text-warning mx-2"></i>
</h2>

该方案无XSS风险,结构清晰,后续调整文本和图标的间距、样式也更方便。

方案2:使用Thymeleaf文本内联语法

如果不想额外添加嵌套标签,可以开启Thymeleaf文本内联,直接在内容中插入变量:

<h2 class="mt-5 text-center text-white" th:inline="text">
  [[${category}]] - newest posts
  <i class="fas fa-landmark text-warning mx-2"></i>
</h2>

内联语法默认会对变量内容做HTML转义处理,同样可以避免XSS安全问题。

注意:不推荐使用th:utext直接拼接HTML内容的实现方式,若${category}变量包含用户可控的输入,会存在XSS注入风险,仅当你能完全保证变量内容安全时可酌情使用。

内容的提问来源于stack exchange,提问作者Dybol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 07:36:07