锁定老帖子 主题:PO---VO的转换问题。
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-02-21
举个可能不太恰当例子:
有PO UserBHM.java: ....... private Long id; private String userName; private java.util.Date BirthDate; private Department department; .... setter/getter .... 对应的VO UserVO protected String userID; protected String userName; protected java.util.Date birthDate; .... setter/getter .... 有PO DeptBHM.java: ....... private Long id; private String deptName; private Set members=new Hashset(); .... setter/getter .... 对应的VO DeptVO protected String deptID; protected String deptName; protected ArrayList users; .... setter/getter .... 通过BO或者Manager(封装业务逻辑) 获得一个deptHBM后,转换成一个新的deptVO,具体方法可用BeanUtils.copyProperties(如果属性多的话,该方法效果更突出): ..... DeptVO deptVO=new DeptVO(); BeanUtils.copyProperties(deptVO,deptHBM); deptVO.setDeptID(String.valueOf(deptHBM.getId()); ArrayList list=new ArrayList(); for(Iterator it=deptHBM.getMembers().Iterator;it!=null&&it.hasNext();){ UserHBM userHBM=(UserHBM)it.next(); UserVO userVO=new UserVO(); BeanUtils.copyProperties(userVO,userHBM); userVO.setUserID(String.valueOf(userHBM.getId())); list.add(userVO); } 然后 deptVO.setMembers(list); ..... 在form中可显示deptVO同时可通过Iterator将其成员members叠代并显示出来。 不知道我说清楚了没有? |
|
返回顶楼 | |
发表时间:2004-02-22
ding
|
|
返回顶楼 | |
发表时间:2004-02-22
啊啊....不好意思,太粗心了。例字中的
引用 for(Iterator it=deptHBM.getMembers().Iterator;it!=null&&it.hasNext(){
改为 for(Iterator it=deptHBM.getMembers().Iterator();it!=null&&it.hasNext(); ){ 因为系统将; )当做表情符了. |
|
返回顶楼 | |