Thymeleaf:迭代 - 递增 N 并访问 list.get(N)
Thymeleaf: Iteration - increment by N and access list.get(N)
所以我已经阅读了文档的 Iterations 部分,但仍然不知道如何执行以下操作:
每 2 条记录进行迭代(因为我正在呈现类似下面的内容)并按索引访问列表。
<div class="row">
<div class="col-md-6">
...
</div>
<div class="col-md-6">
...
</div>
</div>
基本上如果这是在代码中,它看起来像
for (int i = 0; i < size;) {
// do stuff
// manual increment
if (i + 2 > size) {
i++;
} else {
i += 2;
}
}
也欢迎任何其他可以解决我的问题的方法!
我能够使用如下方法解决它:
基本上,我仍然单独循环,但只是 使用 th:if="${stat.even}"
跳过 每隔一条记录,然后通过 stat.index + 1
获取下一条记录。
不过要对 IndexOutOfBoundsException
非常谨慎。
<div class="row" th:each="hivRisk, stat : ${hivRiskList}" th:if="${stat.even}">
<div class="col-md-6" th:with="leftRisk=${hivRiskList.get(stat.index)}">
<div class="checkbox checkbox-styled">
<label>
<input type="checkbox" value="-1" th:value="${leftRisk.id}"/>
<span th:text="${leftRisk.name}">HIV Risk</span>
</label>
</div>
</div>
<div class="col-md-6" th:if="${stat.index + 1 < hivRiskList.size()}" th:with="rightRisk=${hivRiskList.get(stat.index + 1)}">
<div class="checkbox checkbox-styled">
<label>
<input type="checkbox" value="-1" th:value="${rightRisk.id}"/>
<span th:text="${rightRisk.name}">HIV Risk</span>
</label>
</div>
</div>
</div>
所以我已经阅读了文档的 Iterations 部分,但仍然不知道如何执行以下操作:
每 2 条记录进行迭代(因为我正在呈现类似下面的内容)并按索引访问列表。
<div class="row">
<div class="col-md-6">
...
</div>
<div class="col-md-6">
...
</div>
</div>
基本上如果这是在代码中,它看起来像
for (int i = 0; i < size;) {
// do stuff
// manual increment
if (i + 2 > size) {
i++;
} else {
i += 2;
}
}
也欢迎任何其他可以解决我的问题的方法!
我能够使用如下方法解决它:
基本上,我仍然单独循环,但只是 使用 th:if="${stat.even}"
跳过 每隔一条记录,然后通过 stat.index + 1
获取下一条记录。
不过要对 IndexOutOfBoundsException
非常谨慎。
<div class="row" th:each="hivRisk, stat : ${hivRiskList}" th:if="${stat.even}">
<div class="col-md-6" th:with="leftRisk=${hivRiskList.get(stat.index)}">
<div class="checkbox checkbox-styled">
<label>
<input type="checkbox" value="-1" th:value="${leftRisk.id}"/>
<span th:text="${leftRisk.name}">HIV Risk</span>
</label>
</div>
</div>
<div class="col-md-6" th:if="${stat.index + 1 < hivRiskList.size()}" th:with="rightRisk=${hivRiskList.get(stat.index + 1)}">
<div class="checkbox checkbox-styled">
<label>
<input type="checkbox" value="-1" th:value="${rightRisk.id}"/>
<span th:text="${rightRisk.name}">HIV Risk</span>
</label>
</div>
</div>
</div>