Java 在注释中使用变量/表达式(在Thymeleaf模板中)
我需要在页面中添加一些有关生成的信息Java 在注释中使用变量/表达式(在Thymeleaf模板中),java,thymeleaf,Java,Thymeleaf,我需要在页面中添加一些有关生成的信息 </html> <!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] --> 但对我来说,它不起作用。 我应该配置一些东西还是以其他方式进行配置?您需要添加阿曲布他丁 th:text="inline" 在一个祖先身上,正如你在 在您的示例中,您的注释不在html根元素中。您可以这样做:
</html>
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
但对我来说,它不起作用。
我应该配置一些东西还是以其他方式进行配置?您需要添加阿曲布他丁
th:text="inline"
在一个祖先身上,正如你在
在您的示例中,您的注释不在html根元素中。您可以这样做:
</html>
<span th:text="inline">
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
</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;
String htmlCode=templateEngine.process(templateUrl,context);
字符串注释=String.format(“”,页代码,日期);
返回htmlCode+注释;
您正在寻找下面的第一个示例
模板标记1
<span th:inline="text" th:remove="tag" >
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
</span>
结果1
模板标记2
<span th:text="inline" th:remove="tag" >
<!-- page [[${pageCode}]] was generated at [[${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)}]] -->
</span>
结果2
内联以下内容允许我计算注释标记内的表达式
<span th:utext="'<!-- ' + ${pageCode} + ' was generated at ' + ${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)} + ' -->'" th:remove="tag"></span>
它在最后删除了标记,只留下注释,恐怕顶部的示例不起作用-它用变量名呈现输出,因为Thymeleaf不会在HTML注释标记内处理
方法是使用th:utext标记并直接在该标记内呈现注释。这是不理想的,如果Thymeleaf在将来有一个属性来表示内部评论的过程,或者类似的内容,那将是一件好事,但我们做到了
下面是一个工作示例:
<span th:utext="${'<!-- Branch/Firm: ' + branch.id + '/' + branch.firmId + '-->'}" th:remove="tag"></span>
但是在这种情况下,我在关闭的html标记之后收到span标记?它应该是th:inline=“text”吗?例如th:text=“inline”生成异常。无论如何,1)它不处理评论,2)我在html block之后收到block是的,对不起,在span中添加属性th:remove=“tag”,它将删除span标记并将评论保留在内部。实际上这不是问题的答案,因此不能接受答案。这真的对你有用吗?I get与元素类型“span”关联的属性“th:utext”的值不能包含“Yes it is;我使用的是Spring Boot 1.2.6,它有Thymeleaf 2.1.4-可能在早期版本中不起作用?我使用的是Spring Boot 1.2.7和Thymeleaf 2.1.4,它不接受您是否用${'}语法包装它?错误消息表明它就在里面,例如,您得到了如下信息:是的,我正在包装它。工作正常:
。中断:或使用th:block
而不是span-th:remove='tag'
:
,因此我知道这是一个旧答案,但根据文档“标准HTML/XML注释可以在thymeleaf模板中的任何位置使用。这些注释中的任何内容都不会被Thymeleaf或浏览器处理,只会被逐字复制到结果:“对我来说,这表明Thymeleaf变量不会在注释中处理。我的测试表明Thymeleaf在HTML注释中不会处理任何内容