如何在单个单元格中显示集合,而不是为每个元素创建一列?

时间:2019-06-28 17:45:13

标签: html thymeleaf

我尝试在单个单元格中显示一个集合,但是它为每个元素创建一个列。

我尝试了将HTML与Thymeleaf属性结合使用的多种变体,但是我不知道如何为th:each循环显示带有文本的单个单元格

<tr th:each="employee : ${allEmployees}">
    <td th:text="${employee.id}"></td>
    <td th:text="${employee.firstName}"></td>
    <td th:text="${employee.lastName}"></td>
    <td th:text="${employee.position}"></td>
    <td th:text="${employee.salary}"></td>
    <td th:text="${employee.supervisorId}"></td>
<!--Here-->
    <td th:each="team : ${employee.teams}" th:text="${team.name}"></td>
</tr>

我希望出现类似 ||的内容移动技术架构|| ,但我不断获得 ||技术架构||移动|| 等(不要在意逗号和空格)

1 个答案:

答案 0 :(得分:0)

您正在指示Thymeleaf为每个团队创建<td>标签。相反,您可以创建一个<td>标签并在其中进行迭代:

<tr th:each="employee : ${allEmployees}">
    <td th:text="${employee.id}">[id]</td>
    <td th:text="${employee.firstName}">[first]</td>
    <td th:text="${employee.lastName}">[last]</td>
    <td th:text="${employee.position}">[position]</td>
    <td th:text="${employee.salary}">[salary]</td>
    <td th:text="${employee.supervisorId}">[supervisor id]</td>
<!--Here-->
    <td>
        <th:block th:each="team : ${employee.teams}">
          <span th:text="${team.name}" tag="remove">[team name]</span>
        </th:block>
    </td>
</tr>

如果列表中需要逗号,则可以选中this link