我在Spring Boot项目中使用Thymeleaf。
我有一个包含一些HTML标记的文本字符串,我的目标是在没有样式的情况下打印它,也不打印任何HTML标记。
使用:
<p th:text="${myString}"> </p>
我有这样的事情:
<b> text </b>
这很好,因为 myString 文本字符串的值是
String myString = "<b> text </b>";
因此尝试以其他方式使用:
<p th:utext="${myString}"> </p>
我有这样的事情:
文字
但我的目标是获得这样的非格式化纯文本:
text
只需在没有任何HTML标记的情况下发送文字,而无需呈现HTML代码。
如何仅使用Thymeleaf来实现这一目标?
我已经尝试了一些 th:remove =&#34; tags&#34; 以及 th:inline =&#34; text&#34; 但到目前为止它还没有奏效。
提前致谢
答案 0 :(得分:4)
Thymeleaf对此没有任何原生支持,因此您必须找到自己喜欢的库以删除标签,而不是使用它。在此示例中,我使用了Jsoup。
将它添加到您的pom文件后,这样的事情应该有效:
<div th:text="${T(org.jsoup.Jsoup).parse(myString).text()}" />
你也可以创建自己的方言,自动完成,但这更复杂。然后你可以使用自己的属性:
<div bohdan::removehtml="${myString}" />
答案 1 :(得分:1)
你在Thymeleaf中使用th:block。它只是百里香的句子而不是渲染HTML代码。
示例代码
<th:block th:text="${message}"></th:block>
答案 2 :(得分:0)
使用utext 示例:
<p th:utext="${myString}"> </p>