<td th:remove="all-but-first">
<span th:each="groups : ${userView.user.groupMemberships}">
<span th:text="${groups.group.name}"></span>;
</span>
</td>
我试图显示th:each
中返回的前两行,所以我尝试首先显示第一行但它不起作用。
如果我们只想显示th:each
中的前两行或哪三行,我们如何只显示第一行以及我们应该怎么做?
答案 0 :(得分:1)
属性th:remove
用于删除原型生成的标签。
举个例子:
<table th:remove="all-but-first">
<tr th:each="user : ${users}">
<td th:text="${user.name}">John Apricot</td>
</tr>
<tr>
<td>Martha Apple</td>
</tr>
<tr>
<td>Frederic Orange</td>
</tr>
</table>
这意味着将删除第二个和第三个tr
,只留下用于迭代的tr
。更多详情here。
因此,如果您只想显示集合的第一个元素,则无需执行迭代,您只需通过索引访问它(如果是地图,甚至是键)。
示例:
<td>
<span th:text="${userView.user.groupMemberships[0].group.name}"></span>
</td>
答案 1 :(得分:0)
显示我的集合的前两个元素,然后给出了更多选项以查看其余元素
<td>
<span th:each="groups,itrStatus : ${userView.user.groupMemberships}">
<span th:if="${itrStatus.count < 3}">
<span th:if="${itrStatus.count == 2}">,</span>
<span th:text="${groups.group.name}"></span>
</span>
<span th:if="${itrStatus.count == 3}">
, <a href="#" th:attr="data-value=${userView.user.userId}" class="show-user-groups" data-toggle="modal" data-title="Add new user" data-target="#show-user-groups-modal">See more</a>
</span>
</span>
</td>