Thymeleaf注释和块th:block

本文介绍了Thymeleaf模板中的不同类型的注释和块,包括标准HTML注释、解析器级注释块、Thymeleaf原型注释块以及th:block元素的使用。这些特性允许开发者在模板中添加元信息、隐藏代码或在原型阶段保留可见内容,同时保持模板在执行时的正确处理。
摘要由CSDN通过智能技术生成

11 注释和块

11.1. 标准注释

标准 HTML/XML 注释可以在百里叶模板中的任何位置使用。这些注释中的任何内容都不会被Thymeleaf处理,并且将被逐字复制到结果中:<!-- ... -->

<!-- User info follows -->
<div th:text="${...}">
  ...
</div>

11.2. 百里叶解析器级注释块

解析器级注释块是在Thymeleaf解析模板时从模板中删除的代码。它们看起来像这样:

<!--/* This code will be removed at Thymeleaf parsing time! */-->

Thymeleaf 将删除 和 之间的所有内容,因此这些注释块也可用于在模板静态打开时显示代码,因为知道当 Thymeleaf 处理它时,它将被删除:<!--/**/-->

<!--/*--> 
  <div>
     you can see me only before Thymeleaf processes me!
  </div>
<!--*/-->

这对于使用大量 的表进行原型设计可能非常方便,例如:<tr>

<table>
   <tr th:each="x : ${xs}">
     ...
   </tr>
   <!--/*-->
   <tr>
     ...
   </tr>
   <tr>
     ...
   </tr>
   <!--*/-->
</table>

11.3. 仅百里叶原型注释块

Thymeleaf允许在模板静态打开(即作为原型)时将标记为注释的特殊注释块定义为注释,但在执行模板时,Thymeleaf将其视为正常标记。

<span>hello!</span>
<!--/*/
  <div th:text="${...}">
    ...
  </div>
/*/-->
<span>goodbye!</span>

Thymeleaf的解析系统将简单地删除和标记,但不会删除其内容,因此将不加注释。因此,在执行模板时,百里叶实际上会看到以下内容:<!--/*//*/-->

<span>hello!</span>
 
  <div th:text="${...}">
    ...
  </div>
 
<span>goodbye!</span>

与解析器级别的注释块一样,此功能与方言无关。

11.4. 合成标签th:block

百里香在标准方言中包含的唯一元素处理器(不是属性)是 。th:block

th:block只是一个属性容器,允许模板开发人员指定他们想要的任何属性。百里香将执行这些属性,然后简单地使块(而不是其内容)消失。

因此,它可能很有用,例如,在创建每个元素需要多个表的迭代表时:<tr>

<table>
  <th:block th:each="user : ${users}">
    <tr>
        <td th:text="${user.login}">...</td>
        <td th:text="${user.name}">...</td>
    </tr>
    <tr>
        <td colspan="2" th:text="${user.address}">...</td>
    </tr>
  </th:block>
</table>

当与仅原型注释块结合使用时尤其有用:

<table>
    <!--/*/ <th:block th:each="user : ${users}"> /*/-->
    <tr>
        <td th:text="${user.login}">...</td>
        <td th:text="${user.name}">...</td>
    </tr>
    <tr>
        <td colspan="2" th:text="${user.address}">...</td>
    </tr>
    <!--/*/ </th:block> /*/-->
</table>

请注意此解决方案如何允许模板成为有效的HTML(无需在内部添加禁止块),并且在浏览器中作为原型静态打开时仍然可以正常工作!<div><table>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值