Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在注释中使用变量/表达式(在Thymeleaf模板中)_Java_Thymeleaf - Fatal编程技术网

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="'&lt;!-- ' +  ${pageCode} + ' was generated at ' + ${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)} + ' --&gt;'" 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注释中不会处理任何内容