如何将百里香叶片段作为参数传递给另一个片段?

时间:2019-06-12 10:07:08

标签: java thymeleaf

是否可以将标签/片段传递到thymeleaf中的另一个模板?

示例:我想创建一个基本的tableview布局,并且调用者模板应该只提供<tbody>内容,然后再将其注入到tableview模板布局中。

这可能是表格布局:

<div th:fragment="tableview (tbodyFragment)">
    <table class=...>
        <thead>...</thead>

        <!-- the table body should be repaced -->
        <tbody th:replace="${tbodyFragment}"/>
    </table>
</div>

呼叫模板:

<tbody id="tbodyFragment">
    <th:block th:each="row : ${rows}">
        <tr>
            <td th:text="${row.id}"/>
            <td th:text="${row.firstname}"/>
            <td th:text="${row.lastname}"/>
            <td th:text="${row.age}" style="text-align:right"/>
        </tr>   
    <th:block>
</tbody>

<div th:insert="~{tableview::tableview(tbodyFragment)}"/>

当然上述语法无效,但是您可以理解。我该如何实现?

1 个答案:

答案 0 :(得分:0)

简单地将片段作为id传递,并将其嵌套在调用模板的th:insert标签下:

<div th:insert="~{tableview::tableview(~{:: #tbodyFragment})}">
   <tbody id="tbodyFragment">
           ...content here...
   </tbody>
</div>