近来做项目用到,一个页面上,有N项,每项下面有N个表格,如何控制每项下边的表格显示或者隐藏,想着给table 个name属性,以同样的name开头循环N,让每项下的table name 值相同,然后问题来了,不知道如何在JSP页面定义一个变量并让它随着循环加1.
代码如下:
<c:if test="${result!=null }">
<c:set var="falg" value="1"></c:set>
<c:set var="falg2" value="1"></c:set>
<c:forEach items="${result }" var="mapu">
<div style="margin-bottom: 20px;width: 100%;">
<div class="unitDiv"><h2>${mapu.key }</h2></div>
<c:forEach items="${mapu.value }" var="mapt">
<div class="tableDiv"><a class="" href="javascript:void(0);" onclick="showDiv('${falg}')">${mapt.key } 共(${fn:length(mapt.value) })条记录</a></div>
<c:forEach items="${mapt.value }" var="rows" varStatus="st">
<table name="table${falg }" cellspacing="0" cellpadding="0" class="main" style="width:100%;display: none">
<c:forEach items="${rows }" var="mapItem" varStatus="st">
<c:if test="${st.index%2==0 }">
<tr>
</c:if>
<td align="right" width="15%" bgcolor="#f5f5f5" style="font-weight: bold; font-size: 14px;">${mapItem.key }</td>
<td width="35%" bgcolor="#fff">${mapItem.value }</td>
<c:if test="${st.index%2!=0 }">
</tr>
</c:if>
</c:forEach>
</table><br/>
</c:forEach>
<c:set var="falg" value="${falg+falg2 }"></c:set>
</c:forEach>
</div>
</c:forEach>
</c:if>
方法是这样的:
1、定义一个变量值为1(起始值),再定义一个变量值为1(每次增加值)
<c:set var="falg" value="1"></c:set>
<c:set var="falg2" value="1"></c:set>
2、然后在循环里 <c:set var="falg" value="${falg+falg2 }"></c:set> 手动增加后再把值赋给第一个变量。