我正在研究<g:each>
。我得到了一個array with size = 6
。我想創建一個每個tr有4個td的表。 例如:我做循環數組with size = 6
Groovy 4 td後的每個新tr
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
</tr>
我正在研究<g:each>
。我得到了一個array with size = 6
。我想創建一個每個tr有4個td的表。 例如:我做循環數組with size = 6
Groovy 4 td後的每個新tr
<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的collate方法,您可以更清晰地編寫它:
<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驗證錯誤。
感謝您的解決方案。我真的很感激它,順便說一句。 –
groovys'collate'呢? – cfrick