2

我有一个这样的复选框列表:

<g:each in="${mylist}" var = "item" >
     <tr>
      <td colspan="2"><g:checkBox value="${dimension.id}" name="${item.id}"/> - ${item.name}</td>
     </tr>
</g:each>

我必须改变它,所以每行有 2 列(每行 2 个复选框)

<g:each in="${mylist}" var = "item" >
   <td> checkbox with item </td>
   <td> checkbox with next item</td>
</g:each>

我不想为此写一个标签,而且 scriptlet 选项看起来不太好。

有什么grailsy解决方案吗?

提前致谢

4

1 回答 1

3

如何使用 status 属性:

<tr>
  <g:each status="i" in="${myList}" var="item">
    <g:if test="${ ( i > 0 ) && ( i % 2 == 0 ) }">
      </tr><tr>
    </g:if>
    <td><g:checkBox value="${dimension.id}" name="${item.id}"/> - ${item.name}</td>
  </g:each>
</tr>

除此之外,您可能会编写自己的 grails 标签。

您可以执行类似的操作,将您的列表划分为数据对列表,然后在该分区列表中调用每个数据对。

当然,所有这些都可以在 GSP 中完成,只是将这些东西包装在标签中并保持在视图之外总是更整洁。

于 2010-09-14T12:41:05.667 回答