我正在使用 Thymeleaf 处理 html 模板,我了解如何从控制器附加内联字符串,但现在我想将 HTML 代码片段附加到页面中。
例如,让我们在我的 Java 应用程序中保留这个:
String n="<span><i class=\"icon-leaf\"></i>"+str+"</span> <a href=\"\"></a>\n";
final WebContext ctx = new WebContext(request, response,
servletContext, request.getLocale());
ctx.setVariable("n", n);
我需要在 HTML 页面中编写什么,以便将其替换为
n
变量的值并作为 HTML 代码进行处理,而不是编码为文本?
您可以使用代表未转义文本的
th:utext
属性(请参阅文档)。请谨慎使用,并避免用户在 th:utext
中输入,因为这可能会导致安全问题。
<div th:remove="tag" th:utext="${n}"></div>
如果您想要简写语法,您可以使用以下内容:
[(${variable})]
转义简写语法是
[[${variable}]]
但是如果您将内部方括号
[
更改为常规 (
HTML 不会转义。
标签内的示例:
<div>
[(${variable})]
</div>
从 Thymeleaf 3.0 开始,html 友好标签将是:
<div class="mailbox-read-message" data-th-utext="*{body}">
[(${variable})]
对我来说效果很好。完美,谢谢。