request.getSession().setAttribute("pagelist", p);为什么要放到session里面呢!可以就放到request里面!``还有```Struts的<bean:write>是很聪明的````你在action里面是不需要再把那个list转换成 对象的!~``可以这样直接获得里面的属性值```
<bean:write name="list" property="这个对象的属性值如OrderID"/>
<bean:write name="list" property="这个对象的属性值如OrderID"/>
那个jsp的标签要用,放到sesion还有一个原因就是action是不安全的,这个是个人的看法,不到对不对
最好放到request里面
arr=new ArrayList();
Session session=HibernateSessionFactory.getSession();
Transaction tx=session.beginTransaction();
try{
CallableStatement cs=session.connection().prepareCall("{call page(?,?,?,?,?,?,?,?)}");
cs.setInt(1,currPage);
cs.setInt(2,perRows);
cs.setString(3,tableName);
cs.setString(4,columnName);
cs.setString(5,sign);
cs.setString(6,where);
cs.setString(7,order);
cs.registerOutParameter(8,Types.INTEGER);
ResultSet rs=cs.executeQuery();
while(rs.next()){
OrderPageItem oitem=new OrderPageItem();
oitem.setOrderID(rs.getInt(1));
oitem.setCustomer(rs.getString(2));
oitem.setSipvia(rs.getInt(3));
oitem.setShipname(rs.getString(4));
arr.add(oitem);
}
this.totalPage=cs.getInt(8);
cs.close();
tx.commit();
return arr;
}catch(Exception ex){
ex.printStackTrace();
return null;
}finally{
session.close();
}
}
很原意与你共享