关于Struts 标签遍历 集合的问题,请教大虾!!!

来源:百度知道 编辑:UC知道 时间:2024/06/20 18:53:03
Action中的定义:
List list = new ArrayList();
List listTemp = new ArrayList();
while(rs.next()){
String Dec =rs.getString("Dec");
listTemp.add(Dec);
String TOTAL =rs.getString("TOTAL");
listTemp.add(TOTAL);
list.add(listTemp);
}
request.setAttribute("list",list);

页面引用
<logic:iterate name="list" id="list1" >
<tr>
<logic:iterate id="listTemp" name="list1">
<td><bean:write name="listTemp"/></td>
</logic:iterate>
</tr>
</logic:iterate>
</logic:equal>
为什么会报
javax.servlet.jsp.JspException: Cannot find bean listTemp in any scope
这个错误。单独遍历list1,就可以显示出来
请大侠们指教,如何修才能正确遍历改嵌套的集合

错误明显!好解决。
看你写的代码我很奇怪,你后台程序中两个list里没有交集的数据,为啥要用两个list?你直接把listTempset放到request中,在jsp里迭代listTemp就可以了,
如果是要迭代嵌套的list,你这样的写法是有问题的。一般来说,只有两个不同的list里有交集的数据,页面才能判断输出两个list中的数据。没有交集的数据,一个list就够用了。

写项目的时候很少有人用Struts标签库来循环集合吧
都是用JSTL加EL表达式
如果要循环你写的List集合 用JSTL和EL表达式就这样:
<c:forEach items="${list}" var="l">
${l}
</c:forEach>