2014-02-12 45 views
0

请帮我定义在GSP页面显示。需要设置8个X ..数据使用<g:each><g:if><g:set>

如果我还没有固定在集像一些时间我有3或8或15或17 和我有结构等 如果FOR 5套

<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组然后

<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> 

什么,我试图做的是

<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> 
+0

你想要做什么?我认为,有没有这么复杂的解决方案 – havenchyk

+0

我需要显示HTML格式集,我提到以上throgh grails标签。 – uttamjaiswal

+0

好的,你想得到4块物品? – havenchyk

回答

0

Groovy中增加了一个方便的collate()方法,可以使用如下:

<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

谢谢安德鲁,非常感谢..前往你.. :) – uttamjaiswal

+0

安德鲁,这是一点理解,是我有一组列表data.replace的数字说。[[A:xyz,B: XYZ,C:XYZ],[A:XYZ,B:XYZ,C:XYZ],[[A:XYZ,B:XYZ,C:XYZ],[[A:XYZ,B:XYZ,C:XYZ] ,[[A:xyz,B:xyz,C:xyz]],我将它们分别调用为

${item.A} ${item.C} ${item.C}
。这我们是基于8位数据的4组数据。 – uttamjaiswal

相关问题