繁体   English   中英

在注释中使用变量/表达式(在Thymeleaf模板中)

[英]Using variables/expressions in comments (in Thymeleaf template)

我需要在页面中添加一些有关生成的信息。

</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

您需要添加属性

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="'&lt;!-- ' +  ${pageCode} + ' was generated at ' + ${#dates.format(currentDate, ‘dd/MMM/yyyy HH:mm’)} + ' --&gt;'" th:remove="tag"></span>

它会删除最后的<span>标记,只留下注释

我担心顶部的示例不起作用 - 它实际上使用变量名称呈现输出,因为Thymeleaf不会在HTML注释标记内处理。

这样做的方法是使用th:utext标记并直接在其中呈现注释。 如果Thymeleaf有一个房产可以在未来的评论或类似内容中说出来,那就不太理想了,但是我们会去。

这是一个有效的例子:

<span th:utext="${'<!-- Branch/Firm: ' + branch.id + '/' + branch.firmId + '-->'}" th:remove="tag"></span>

如果你使用&lt; &gt; 然后你会在渲染的HTML中得到完全相同的东西,浏览器将尝试渲染,而不是视为评论。

根据下面的评论,似乎此解决方案适用于布局方言,但可能不在其他方面。

不幸的是,我们没有找到一种方法,如果不添加新标签(但它不适用)。 只是分享:所以我们使用了变通方法:String中的进程页面,然后连接该注释块。

代替

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM