首页 > 解决方案 > 使用 Thymeleaf 在单个表格单元格中创建多个超链接

问题描述

我希望创建一个表格单元格,该单元格将填充以逗号分隔的超链接。所有人都应该在一个单元格中。基于下面的代码会发生什么,对于每个超链接都会创建一个新单元格......下面的两个代码版本都会导致添加单元格。有谁知道如何做到这一点?

<td th:each="element: ${todo.getAssigneeList()}">
  <span>
    <a th:text="|${element.getId()}, |" th:href="@{/assignee/{id}/detail(id=${element.id})}"></a>
  </span>
</td>

<td th:each="element: ${todo.getAssigneeList()}"><a th:text="|${element.getId()}, |" th:href="@{/assignee/{id}/detail(id=${element.id})}"></a></td>

下面提供的解决方案按预期工作。谢谢!

标签: javathymeleaf

解决方案


您可以在链接中结合迭代和对元素的访问。Thymeleaf属性优先级将首先解析迭代,然后才解析对变量的访问......

<td><a th:each="element: ${todo.getAssigneeList()}"
    th:text="|${element.getId()}, |"
    th:href="@{/assignee/{id}/detail(id=${element.id})}"></a>
</td>

使用容器标签的另一种方式(例如<th:block>)。代码可能看起来像......

<td>
    <th:block th:each="element: ${todo.getAssigneeList()}">
        <a th:text="|${element.getId()}, |"
            th:href="@{/assignee/{id}/detail(id=${element.id})}"></a>
    </th:block>
</td>

推荐阅读