关于<c:foreach>遍历list集合
<c:foreach> 如何遍历2个LIST集合?
假如有3个LIST集合
cmList、unList 、list
Java code
<c:forEach items="${requestScope.LIST}" var="list">
<c:out value="${list.day}"></c:out>
</td>
<td><c:out value="${list.cnt1}"></c:out></td>
<td><c:out value="${list.cnt2}"></c:out></td>
<td><c:out value="${list.cnt3}"></c:out></td>
<td><c:out value="${此处要填unList}"></c:out></td>
<td><c:out value="${在这要填cmList}"></c:out></td>
<td><c:out value="${list.java}"></c:out></td>
<td><c:out value="${list.c}"></c:out></td>
</tr>
</c:forEach>
Java code
类似于
for(int i =0;i<5;i++){
list.get(i);
cmlist.get(i);
unlist.get(i);
}
这个样子,如何做啊
------解决方案--------------------实话讲 单纯用一个c:forEach 没法搞 不过如果你愿意用js的话 倒是可以实现该效果,
但是太麻烦 其实不如写小脚本吧
------解决方案--------------------http://baike.baidu.com/view/1002440.htm,应该可以把帮到你
------解决方案--------------------你可以尝试 嵌套循环 我没有试过
是在不行的话 你可以在业务类中编写循环遍历的方法 再在action中循环遍历一次
将取出的值 放到session中保存 最后再在页面上取值 这样的写法我做过
需要的话 我可以帮你试试
------解决方案--------------------你的意思是同时遍历三个LIST?
你倒不如把那三个LIST里的对像放到一个对象里 然后用这一个LIST保存那些封装了三个对象的对象
------解决方案--------------------如果你的项目中没有特别约束的话,使用一个中间对象把值拿过来,<c:foreach>嵌套很难实现,我们也遇到过这个问题,没什么好方法,绕过了
------解决方案--------------------如果:cmList、unList 、list的size是一样大,可以这样:
<c:forEach items="${requestScope.LIST}" var="list" varStatus="status">
<td><c:out value="${list.cnt1}"></c:out></td>
<td><c:out value="${list.cnt2}"></c:out></td>
<td><c:out value="${list.cnt3}"></c:out></td>
<td><c:out value="${unList[status.index]}"></c:out></td>
<td><c:out value="${cmList[status.index]}"></c:out></td>
<td><c:out value="${list.java}"></c:out></td>
<td><c:out value="${list.c}"></c:out></td>
</tr>
</c:forEach>
如果:cmList或者unList存储的是对象,可以使用${unList[status.index].属性名称}