日期:2014-05-19  浏览次数:20609 次

求助帖!关于<c:forEach>标签遍历循环Result的问题!
我采用的是JSP 与 servlet技术结合在做一个项目,我在后台服务端servlet的部分代码如下:
Result result1 = qnd.searchTest(qn2);//这里多张表查出来的一个结果集
HttpSession session1 = request.getSession();
if(result1 != null && result1.getRows().length >0){
session1.setAttribute("TWDF", result1);
response.sendRedirect("0012.jsp");
}
  现在 我想在JSP页面中 用JSTL中的<c:forEach>去遍历循环当中我查出来的ID值,怎么去做?求大神指导!

------解决方案--------------------
你返回Result明显是一个对象来的,如果要遍历集合的话,很简单,new 个集合出来,再把对象add进去,其他的用forEach来遍历
探讨

引用:

简单:
<c:forEach items="Result" var="i">
这里写你的迭代的东西
例如i.name
</c:forEach>
i.name相当于java的i.getName()
你懂得!

用这种方法 我试过了 不行。我觉得会不会像5楼说的必须是个list才可以。有点疑惑。。。

------解决方案--------------------
<c:forEach> 主要支持如下类型:
Collection、Map、Iterator、Enumeration、Object[]

如果Result对象是你自己写的,那么你要考虑继承或使用以上类型。
------解决方案--------------------
楼上的厉害,我查了下好像不太全。
详细给楼主参考下。
实际c:forEach支持的

l java.util.Collection:调用iterator()来获得的元素。 

l java.util.Map:通过java.util.Map.Entry所获得的实例。 

l java.util.Iterator:迭代器元素。 

l java.util.Enumeration:枚举元素。 

l Object实例数组:数组元素。 

l 基本类型值数组:经过包装的数组元素。 

l 用逗号定界的String:分割后的子字符串。 

l javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。 

------解决方案--------------------
+1
探讨
<c:forEach> 主要支持如下类型:
Collection、Map、Iterator、Enumeration、Object[]

如果Result对象是你自己写的,那么你要考虑继承或使用以上类型。