gpt4 book ai didi

java - Thymeleaf 中嵌套循环项的连续计数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:22:28 24 4
gpt4 key购买 nike

我正在编写一个应该呈现员工列表的模板。员工以部门列表的形式传递给 Thymeleaf,每个部门都有自己的员工列表。

由于我的任务是将它们全部显示 - 问题是处理连续计数。每个员工都应显示为带有下一个数字的行。

以下尝试允许索引给定部门的员工,每个部门都有新的编号:

<table th:each="department, depStatus : departmentList">
<tr th:each="employee, empStatus : department.employees">
<td th:inline="text">[[${empStatus.index+1}]]</td>

但我的观点是在所有部门保持连续计数,就像这样:

1. Employee A from Dept X
2. Employee B from Dept X
3. Employee C from Dept Y

我知道我可以在服务器端将这种结构扁平化,但我不敢相信这是唯一的方法。

我还尝试使用 th:with="idx​​ = 0" 引入局部变量,然后使用 th:with="idx​​ = ${idx} + 1 将其递增,但这只是覆盖了外部 idx 值。

最佳答案

您要实现的目标是更新局部变量,并使新值在比进行更新的范围更广的范围内可见。这就是为什么它与 th:with 定义相矛盾。我认为您无法避免进行一些服务器端调整,例如按照您的建议提供一些更平坦的结构 View 。

另一方面,一个快速的解决方案(假设您不严格使用表格)它可能会在使用 th:blocks 作为封闭部门时尝试有序列表:

<ol>
<!--/*/ <th:block th:each="dept : ${departmentList} "> /*/-->

<li th:each="emp : dept.employees" th:text="|${emp.name} from ${dept.name}|"></li>

<!--/*/ </th:block> /*/-->
</ol>

关于java - Thymeleaf 中嵌套循环项的连续计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28236781/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com