现在我得到了以下结构的地图,并将其传递给我的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
请建议我如何实现这一目标。谢谢你的时间
答案 0 :(得分:1)
考虑modulo % operator
,每次迭代增加一个变量,然后检查if ($variable%5==0)
以转移到下五个元素。
您的前5个元素应位于div
中,其他div
中的附加内容。
你的第一个div应该有style='float:left;width:200px'