论坛首页 Java企业应用论坛

PO---VO的转换问题。

浏览 16905 次
精华帖 (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叠代并显示出来。
     不知道我说清楚了没有?
0 请登录后投票
   发表时间:2004-02-22  
ding
0 请登录后投票
   发表时间:2004-02-22  
啊啊....不好意思,太粗心了。例字中的

引用
for(Iterator it=deptHBM.getMembers().Iterator;it!=null&&it.hasNext(){


改为

for(Iterator it=deptHBM.getMembers().Iterator();it!=null&&it.hasNext();  ){

因为系统将;  )当做表情符了.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics