final Context ctx = new Context();
context.setVariable("data", data);
templateEngine.process(template, context).trim();
这是进口商品:
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
模板变量指向" content_completed"。此content_completed是项目类路径中存在的html文件。
此html文件的内容:
<html xmlns:th="http://www.thymeleaf.org" th:inline="text" th:remove="tag">
[[${data.fileName}]][[${T(abc.composer.NoteData).COMPLETED_NO_ERRORS}]]
</html>
其中NoteData是一个java类
如果 data.fileName 类似&#34; sample&amp; .text&#34;,那么Thymeleaf模板引擎正在将其更改为&#34; sample&amp; amp; .text&#34 ;
关于如何避免这种情况的任何想法?
答案 0 :(得分:1)
自己解决了。这是解决方案:
<html xmlns:th="http://www.thymeleaf.org" th:inline="text" th:remove="tag">
<th:block th:utext="${data.fileName}"/>[[${T(abc.composer.NoteData).COMPLETED_NO_ERRORS}]]
</html>
答案 1 :(得分:0)
Thymeleaf正在转义文件名,以便浏览器不会将&
解释为特殊的HTML字符(它用于HTML实体)。
所以,我认为,答案是它正在做正确的事情。当您在浏览器中查看HTML输出时,它将按照您的预期进行渲染。