请问:
想实现‘对后台查询数据库的结果集封装(类似:DataSetImpl),并且封装后的对象,放到request范围后,
在jsp中利用类似struts的logic:iterate标签方式迭代出来’的思路或实例。注:
1、在strus1.2环境中;
2、高效。请高手赐教!
想实现‘对后台查询数据库的结果集封装(类似:DataSetImpl),并且封装后的对象,放到request范围后,
在jsp中利用类似struts的logic:iterate标签方式迭代出来’的思路或实例。注:
1、在strus1.2环境中;
2、高效。请高手赐教!
例如表数据为
列1 列2
a b
c d
javabean类,两个属性
列1,列2。
ArrayList中放入表数据每一行对应的javabean对象,就可以了。
页面用logic:iterate循环就可以了,循环中需要显示值的地方的value值与bean里的属性名一样就可以了。
我想把她变成个通用的。请问该怎么做?
<bean:write name="">
</logic:iterator><logic:iterator id="" name="" property=""> id是要显示的值,与<bean:write>的name属性值相等就行了,随便定义。
name属性是集合的名称,比如你是要显示一个ArrayList集合,这就是集合名字。
property是集合的属性ArrayList里存储的是对象的话,它就是对象的属性。好像清楚了。
private String username;
private String address;
private String phone; //get And set
//……
}
DataSetImpl封装查询结果为VO部分的代码:
String sql = "select A.username,B.address,B.phone from tb_user A,user_info B where A.id = B.id;"Query query = session.createSQLQuery(sql);List list = query.list();List<UserVO> resultList = new ArrayList<UserVO>();
UserVO vo = null;
for(int i=0;i<list.size();i++){
vo = new UserVO();
Object[] temp = (Object[])list.get(i);
vo.setUsername(temp[0].toString());
vo.setAddress(temp[1].toString());
vo.setPhone(temp[2].toString());
resultList.add(vo);
vo=null;
temp = null;
}
return resultList;action里面、JSP页面就跟处理普通的单表查询结果一样了。