Thymeleaf-将HTML插入<p>

时间:2018-07-19 17:17:21

标签: html thymeleaf

我有以下Java变量:

context.setVariable("content", "test &lt;b&gt;test&lt;/b&gt;");
context.setVariable("condition", condition);

,我要将其放置在以下模板中:

<p th:text="${condition}?${content}:''"></p>

预期结果为:如果条件为真,则“测试测试”。然而, 结果是

"test &lt;b&gt;test&lt;/b&gt;"

如果我打开页面并且条件为true。将th:text=...更改为th:utext=...会导致

"test <b>test</b>"

显示在我的页面上,这仍然不是我想要的。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

如果要使用实际的HTML,则需要传递实际的(未转义的)HTML并使用th:utext。 (传递转义的HTML并认为Thymeleaf会为您取消转义是没有意义的。)

// Controller
context.setVariable("content", "test <br>test</br>");

<!-- HTML -->
<p th:utext="${condition}?${content}:''"></p>

如果您确实想传递"test &lt;br&gt;test&lt;/br&gt;",则必须使用字符串搜索/替换将那些字符改回<>(可能使用#strings实用程序对象)。

相关问题