在循环中每10次设置后创建新行

时间:2013-09-16 08:13:47

标签: javascript html html5 jstl fieldset

现在我得到了以下结构的地图,并将其传递给我的JSP页面。

Map<String,List<String>> tapeMap = new HashMap<String,List<String>>(); 

在我的JSP页面中,我正在迭代Map和value以显示隐藏结构

<table width="100%" border="0" cellpadding="0" cellspacing="0" >
   <tr>
        <td class="reportrow2">
        <c:forEach items="${tapeemap}" var="detFieldEntry">
        <c:choose>
            <c:when test="${empty detFieldEntry.key}">
                <c:set var="defValue" value="Uncategorized"/>
            </c:when>
            <c:otherwise>
                <c:set var="defValue" value="${detFieldEntry.key}"/>
            </c:otherwise>
        </c:choose>
        <div class="hideable">
            <a class="hide" href="#"><c:out value="${defValue}"></c:out></a>
            <div class="hide-container">
     <c:forEach items="${detFieldEntry.value}" var="item" varStatus="status">
          <fieldset> 

            <input type="checkbox" name="tape_id" id="tape_id" onClick="this.value='<c:out value='${item}'/>'"/>
            <c:out value="${item}"></c:out>
           </fieldset>
    </c:forEach>
    </div>
</div>
    </c:forEach>
</td>
</tr>
</table>

我正在尝试形成类似于此

的结构
+ electronics

      [] RF1  [] RF6
      {} RF2  [] RF7
      [] RF3  [] RF8
      [] RF4  [] RF9
      [] RF5  [] RF10

因此在迭代期间,每10个项目需要创建新行。我尝试使用tr标记。但结果并不准确。所以请建议我一个很好的解决方案来实现这一点。我经历了以下之前提出的问题,但它不起作用

[1]:JSTL create a new row every 5th fieldset in a loop

请建议我如何实现这一目标。谢谢你的时间

1 个答案:

答案 0 :(得分:1)

考虑modulo % operator,每次迭代增加一个变量,然后检查if ($variable%5==0)以转移到下五个元素。

您的前5个元素应位于div中,其他div中的附加内容。

你的第一个div应该有style='float:left;width:200px'