11.4 合成th:block标签

Thymeleaf的标准方言中唯一的元素处理器(不是属性)是th:block

th:block是一个纯属性容器,它允许模板开发者指定他们所需的任何属性。Thymeleaf会执行这些属性,然后使这个块本身,而不是其内容,消失。

所以它在例如创建一个元素需要多个<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>

当和prototype-only注释块一起使用的时候格外有用:

<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文件(无需在<table>标签中添加非法的<div>标签),而且它作为静态原型在浏览器中能正常打开。

results matching ""

    No results matching ""