我不确定 JSON 数组,但是对于普通数组或列表,您可以通过仔细使用切片来做到这一点:
<g:each var="chunk" in="${0..<(profil.leistung.size().intdiv(3) +
(profil.leistung.size() % 3 ? 1 : 0))}">
<div>
<ul>
<g:each in="${profil.leistung[(chunk * 3)..<(Math.min(
profil.leistung.size(), (chunk + 1) * 3))]}">
<li>${it}</li>
</g:each>
</ul>
</div>
</g:each>
我在这里做的是计算出我们可以将列表分成多少个三个元素的块(最后一个块可能少于三个元素),然后每次通过外循环切出3n
包含3(n+1)
排他或结尾的元素列表(以先到者为准)。如果您知道您的列表长度将始终是三的整数倍,那么您可以删除边缘情况:
<g:each var="chunk" in="${0..<profil.leistung.size().intdiv(3)}">
<div>
<ul>
<g:each in="${profil.leistung[(chunk * 3)..<((chunk + 1) * 3)]}">
<li>${it}</li>
</g:each>
</ul>
</div>
</g:each>