Cannot create iterator for this collection高手请进

qingkangxu 2007-07-09 09:37:06
运行环境:jdk1.5.0_04 && Struts 1.3
后台Bean
package department;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import com.db.ConnDB;

public class DepartmentBean {

private Connection conn = null;

private Statement stmt = null;

public DepartmentBean() throws Exception {
this.conn = new ConnDB().ds.getConnection();
}

public ArrayList getDepartments() throws Exception {

ArrayList<Department> ret = new ArrayList<Department>();
try {
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from fare");
while (rs.next()) {
Department temp = new Department();
temp.setFareID(rs.getString("fareID"));
temp.setFareName(rs.getString("fareName"));
temp.setFareAddress(rs.getString("fareAddress"));
temp.setFarePhone(rs.getString("farePhone"));
temp.setFareManager(rs.getString("fareManager"));
temp.setFareDescription(rs.getString("fareDescription"));
ret.add(temp);
}
} catch (Exception e) {
System.out.println(e.toString());
} finally {
}
return ret;
}

}
Department类就是set和get方法.


jsp
<%@ taglib uri="/struts-html" prefix="html" %>
<%@ taglib uri="/struts-bean" prefix="bean" %>
<%@ taglib uri="/struts-logic" prefix="logic" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<%@ page import="java.util.ArrayList"%>
<%@ page import="department.Department"%>
<jsp:useBean id="departmentBean" class="department.DepartmentBean" scope="session"/>
<c:set var="departments" value="${departmentBean.departments}"/>
<%-- used for test
<%ArrayList collection = departmentBean.getDepartments();%>
<%Department dep = (Department)collection.get(2);%>
<%System.out.println(dep.getFareName());%>
--%>
......


<table name="testTable">
<logic:iterate id="depts" name="departments">
<tr>
<td>
<bean:write name="depts" property="empName"/>
</td>
</tr>
</logic:iterate>
</table>



报错:Cannot create iterator for this collection

请高手帮忙///
...全文
483 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yztommyhc 2007-08-11
  • 打赏
  • 举报
回复
.
awusoft 2007-08-11
  • 打赏
  • 举报
回复
...........................
qingkangxu 2007-08-11
  • 打赏
  • 举报
回复
没有人能够答复,但是我自己一个月之后解决掉了.
方案:
jsp 中用<bean:define id="departments" name="departmentBean" property="departments"/>取代<c:set var="departments" value="${departmentBean.departments}"/> 之后就可以了。
但是不知道c:set 为什么就不好使了..

纠正以下我的帖子:
jsp中输出的时候不是<bean:write name="depts" property="empName"/>
而是:<bean:write name="depts" property="fareName"/>

由此,Cannot create iterator for this collection有一种可能就是jsp中没有在pageContext中setAttribute,本例为没有把departments正常的set..
qingkangxu 2007-07-09
  • 打赏
  • 举报
回复
说明一下:
我用下面的代码调试过
<%ArrayList collection = departmentBean.getDepartments();%>
<%Department dep = (Department)collection.get(2);%>
<%System.out.println(dep.getFareName());%>
是能够正常在控制台打出数据库里的数据库来的。这说明我的返回数据是没有问题的。
请高手赐教..

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧