首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要8×n的集合。使用<g:each> <g:if> <g:set>的数据

需要8×n的集合。使用<g:each> <g:if> <g:set>的数据
EN

Stack Overflow用户
提问于 2014-02-12 07:52:29
回答 1查看 87关注 0票数 0

请帮助我定义在GSP页面显示。

如果我没有固定的时间,我有3,8,15或17,我有类似的结构,如果5套。

代码语言:javascript
复制
<LI>
<DIV class= A>
<DIV class=B>
<DIV class=row>
    <DIV class=col>1</DIV>
    <DIV class=col>2</DIV>
    <DIV class=col>3</DIV>
    <DIV class=col>4</DIV>
</DIV>
<DIV class=row>
    <DIV class=col>5</DIV>
</DIV>
</DIV>
</DIV>
</LI>

如果是15套的话

代码语言:javascript
复制
<LI>
<DIV class= A>
<DIV class=B>
<DIV class=row>
    <DIV class=col>1</DIV>
    <DIV class=col>2</DIV>
    <DIV class=col>3</DIV>
    <DIV class=col>4</DIV>
</DIV>
<DIV class=row>
    <DIV class=col>5</DIV>
    <DIV class=col>6</DIV>
    <DIV class=col>7</DIV>
    <DIV class=col>8</DIV>
</DIV>
</DIV>
</DIV>
</LI>
<LI>
<DIV class= A>
<DIV class=B>
<DIV class=row>
    <DIV class=col>9</DIV>
    <DIV class=col>10</DIV>
    <DIV class=col>11</DIV>
    <DIV class=col>12</DIV>
</DIV>
<DIV class=row>
    <DIV class=col>13</DIV>
    <DIV class=col>14</DIV>
    <DIV class=col>15</DIV>
</DIV>
</DIV>
</DIV>
</LI>

我想做的是

代码语言:javascript
复制
<g:set var="dataSetTotal" value="${15 }" />
          <g:set var="setDataRange" value="${8 }" />
          <g:set var="liDivCount" value="${(int)((dataSetTotal/setDataRange)+1)}" />
          ${setDataRange}
          ${liDivCount }
          <g:each in="${1..liDivCount}">
          ${it} //Run which need li section
                <g:each in="${1..setDataRange}" var="inside" status="j">
                 print ${j }
                 <g:if test="${j % 4 ==0 }">
                    print row
                 </g:if>
                </g:each>
          </g:each>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-12 17:22:37

Groovy在列表中添加了一个方便的校对()方法,可以如下所示:

代码语言:javascript
复制
<g:set var="itemsPerLi" value="${8}" />
<g:set var="itemsPerRow" value="${4}" />
<g:set var="myList" value="${[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]}" />

<g:each in="${myList.collate(itemsPerLi)}" var="a">
<LI>
  <DIV class="A">
    <DIV class="B">
      <g:each in="${a.collate(itemsPerRow)}" var="row">
        <DIV class="row">
          <g:each in="${row}"><DIV class="col">${it}</div></g:each>
        </DIV>
      </g:each>
    </DIV>
  </DIV>
</LI>
</g:each>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21721791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档