我需要在页面中添加一些有关生成的信息。
</html>
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
但对我来说它不起作用。我应该配置一些东西还是以另一种方式来做?
您正在寻找下面的第一个示例。
模板标记 1
<span th:inline="text" th:remove="tag" >
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
</span>
结果 1
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
模板标记 2
<span th:text="inline" th:remove="tag" >
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
</span>
结果 2 inline
恐怕顶部的示例不起作用 - 它实际上是使用变量名称呈现输出,因为 Thymeleaf 不会在 HTML 注释标签内进行处理。
这样做的方法是使用 th:utext 标签并直接在其中呈现评论。这并不理想,如果 Thymeleaf 有一个属性可以在未来的内部评论或类似的过程中进行处理,那就太好了,但我们走了。
这是一个工作示例:
<span th:utext="${'<!-- Branch/Firm: ' + branch.id + '/' + branch.firmId + '-->'}" th:remove="tag"></span>
如果你使用<
然后>
你会在渲染的 HTML 中得到准确的结果,浏览器将尝试渲染,而不是作为注释处理。
根据下面的评论,该解决方案似乎适用于 Layout 方言,但可能不适用于其他方言。
您需要添加属性
th:text="inline"
如您在文档中所见,在其中一个祖先中
在您的示例中,您的评论超出了 html 根元素。你可以这样做:
</html>
<span th:text="inline">
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
</span>
希望它可以帮助
以下允许我评估评论标签内的表达式
<span th:utext="'<!-- ' + ${pageCode} + ' was generated at ' + ${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)} + ' -->'" th:remove="tag"></span>
它在末尾删除 <span> 标记,只留下注释
不幸的是,我们没有找到不添加新标签的方法(但它不适用)。只是为了分享:所以我们使用了解决方法:在字符串中处理页面,然后连接该评论块。
反而
templateEngine.process(templateUrl, context, writer);
就像是:
String htmlCode = templateEngine.process(templateUrl, context);
String comment = String.format("<!-- page %s was generated at %s -->", pageCode, date);
return htmlCode + comment;