在jsp中显示迭代器

在jsp中显示迭代器,jsp,iterator,Jsp,Iterator,我有以下代码: @Override public Iterator retrieve() throws SQLException { List<PasalBean> pasalObject = new ArrayList<PasalBean>(); try { Class.forName(dbDriver); con = DriverManager.getConnection(url);

我有以下代码:

@Override  
public Iterator retrieve() throws SQLException {  
    List<PasalBean> pasalObject = new ArrayList<PasalBean>();  
    try {  
        Class.forName(dbDriver); 
        con = DriverManager.getConnection(url);  
        ps = con.createStatement();  
        rs = ps.executeQuery("select * from T_PASAL WHERE ID_PASAL = '" + id_pasal + "' ORDER BY ID_PASAL");  
        while (rs.next()) {  
            pasalObject.add(new  PasalBean(rs.getInt(1), rs.getString(2), rs.getString(3), rs.getString(4)));  
        }  
    }catch (Exception e) {  
        System.out.println("Error Data : " + e.getMessage());  
    }  
    return (Iterator) pasalObject;  
}
@覆盖
公共迭代器检索()引发SQLException{
List pasalObject=new ArrayList();
试试{
类forName(dbDriver);
con=DriverManager.getConnection(url);
ps=con.createStatement();
rs=ps.executeQuery(“从T_PASAL中选择*,其中ID_PASAL=”“+ID_PASAL+”“‘按ID_PASAL排序”);
while(rs.next()){
添加(新的PasalBean(rs.getInt(1)、rs.getString(2)、rs.getString(3)、rs.getString(4));
}  
}捕获(例外e){
System.out.println(“错误数据:+e.getMessage());
}  
返回(迭代器)pasalObject;
}

如何在JSP中显示它?

首先,此代码将失败。不能将
列表
强制转换为
迭代器
。使其返回一个
列表

然后,要在servlet中显示它,您需要:

request.setAttribute("list", retrieve());
request.getRequestDispatcher("/path/to/jsp").forward();
然后在JSP中:

<c:forEach items="${list}" var="item">
   ${item.somePropertyOfTheBean}
</c:forEach>

${item.somePropertyOfTheBean}

最好将
retrieve()
方法放在一个单独的数据访问类(DAO)中,而不是直接放在servlet中。

这甚至不会编译。您不能将
列表
转换为
迭代器
。感谢您的回复。。如何在上面的代码中生成迭代器。并在jsp中显示它。。非常感谢..哦,我明白了。。谢谢你的帮助,但这意味着我有一个列表结果而不是迭代器,不是吗?