【问题标题】:Creating new row after every 10th set in a loop在循环中每 10 组后创建新行
【发布时间】:2013-09-16 08:13:47
【问题描述】:

现在我得到了以下结构的映射,我将它传递到我的 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 td 标签。但结果并不准确。所以请建议我一个很好的解决方案来实现这一点。我经历了以下以前问过的问题,但它不起作用

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

请就如何实现这一点向我提出建议。感谢您的宝贵时间

【问题讨论】:

    标签: javascript html jstl fieldset


    【解决方案1】:

    想想modulo % operator,每次迭代增加一个变量并检查if ($variable%5==0) 以移动到接下来的五个元素。

    您的前 5 个元素应该在 div 中,第二个元素应该在另一个 div 中。

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

    【讨论】:

    • 抱歉,由于一点练习,我忘记了 jstl,但应该这样做
    • @FaceOfJock 我之前尝试过使用模运算。但它没有成功。我尝试了类似这样的东西
    猜你喜欢
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2016-06-09
    • 2019-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多