问题描述
<c:forEach items="${sysorgan}" var="sysorgan" varStatus="i"> <tr> <td> <input type="checkbox" id="${sysorgan.oid}" name="${sysorgan.oid}">${sysorgan.simpleNameCn} </td> </tr> </c:forEach>如上代码和截图所示,用jstl的foreach实现了分行显示组织机构名称的功能。我想一行显示两个,怎么用jstl的标签实现呢?迭代的索引值${i.index}能不能手动增加呢?
解决方案
<c:forEach items="${sysorgan}" var="sysorgan" varStatus="i"> <c:if test="${i.index % 2 ==0}"> <tr> </c:if> <td> <input type="checkbox" id="${sysorgan.oid}" name="${sysorgan.oid}">${sysorgan.simpleNameCn} </td> <c:if test="${i.count % 2 == 0}"> </tr> </c:if> </c:forEach>
解决方案二:
varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。迭代的索引值${i.index}只能获取,没法手动设置。1楼方法可以实现
解决方案三:
楼上的这个很对,你可以参考一下。 <c:forEach items="${sysorgan}" var="sysorgan" varStatus="i"> <c:if test="${i.index % 2 ==0}"> <tr> </c:if> <td> <input type="checkbox" id="${sysorgan.oid}" name="${sysorgan.oid}">${sysorgan.simpleNameCn} </td> <c:if test="${i.count % 2 == 0}"> </tr> </c:if> </c:forEach>另外迭代的索引值${i.index}不能手动增加的。