Grails Groovy每个新tr在4 td之后

Grails Groovy每个新tr在4 td之后,grails,groovy,each,gsp,Grails,Groovy,Each,Gsp,我正在看电视。我得到了一个大小为6的数组。我想创建一个表,每个tr有4个td。 例如:我在数组中创建大小为6的循环 您可以使用g:each状态有条件地在4 td: <tr> <g:each var="it" status="i" in="${ar}"> <g:if test="${ i > 0 && i % 4 == 0 }"></tr><tr></g:if> <t

我正在看电视。我得到了一个大小为6的数组。我想创建一个表,每个tr有4个td。 例如:我在数组中创建大小为6的循环

您可以使用g:each状态有条件地在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>

虽然user@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验证错误。

groovys collate呢?感谢提供另一种解决方案。顺便说一句,我真的很感激。
<g:each var="trElement" in="${ar.collate(4)}">
    <tr>
        <g:each var="tdElement" in="${trElement}">
           <td>${tdElement}</td>
        </g:each>
    </tr>
</g:each>