我正在研究视图中的<g:each>
。我得到了一个array with size = 6
.我想创建一个表格,每个 tr 有 4 td。例如:我在数组中做循环with size = 6
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
</tr>
您可以使用
g:each
的status
在 4 td 之后有条件地开始新行:
<tr>
<g:each var="it" status="i" in="${ar}">
<g:if test="${ i > 0 && i % 4 == 0 }"></tr><tr></g:if>
<td>${it}</td>
</g:each>
</tr>
虽然用户@user2472199给出的解决方案会起作用,但您可以通过使用 Groovy 的整理方法以这种方式更干净地编写它:
<g:each var="trElement" in="${ar.collate(4)}">
<tr>
<g:each var="tdElement" in="${trElement}">
<td>${tdElement}</td>
</g:each>
</tr>
</g:each>
这将保持 gsp 的外观干净,并避免编辑器中的任何 HTML 验证错误。