Как передать фрагмент тимелина как параметр другому фрагменту? - PullRequest
0 голосов
/ 12 июня 2019

Можно ли передать тег / фрагмент другому шаблону в thymeleaf?

Пример. Я хочу создать базовый макет tableview, а шаблон вызывающих абонентов должен содержать только <tbody>содержимое, которое затем должно быть вставлено в макет шаблона представления таблицы.

Это может быть макет таблицы:

<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 голосов
/ 12 июня 2019

Это просто, если передать фрагмент как идентификатор и вставить его под тег th:insert из вызывающего шаблона:

<div th:insert="~{tableview::tableview(~{:: #tbodyFragment})}">
   <tbody id="tbodyFragment">
           ...content here...
   </tbody>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...