在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中显示它。。非常感谢..哦,我明白了。。谢谢你的帮助,但这意味着我有一个列表结果而不是迭代器,不是吗?