那可以建一个vo,将显示的元素放在里面。
不过每个都这样做太过麻烦,因此有时就将po传回Action处理了。

解决方案 »

  1.   

    我觉得不对,PO才是与表对应的,不能直接把PO传给aciton甚至传到页面上。
    因为PO中的数据改变会直接影响库中数据的改变。
    我们多数项目的情况都是在从持久层取出数据到PO中后,直接转换成对应的VO,
    不要嫌麻烦,为了安全,如果嫌麻烦apache已经提供了很好的转换工具来实现
    PO2VO的类拷贝功能,也可以自己写
      

  2.   

    如果你不用EJB作为M层,完全可以不用VO,因为VO一般那是需要序列化的(同PO),
    要想穿越EJB容器就必须用类似VO的javabean对象,否则数据丢失。不用EJB可以
    用DTO来代替VO,它不用序列化,可以提高性能和稳定性。
      

  3.   

    焰火
    1.VO一般那是需要序列化的?
    2.不用EJB可以用DTO来代替VO?
    vo,ejb,要序列化?
    dtp不用?
    为什么?
      

  4.   

    不懂, Hibernate太复杂, 正在努力学习中...
      

  5.   

    to suncheng_hong(亮)
    这些都是在工作中总结的,我说的不专业.
    不是说vo一定要序列化而DTO不能序列化.
    而是VO是ValueObject的缩写,一般都是用来持久存放数据的,我们一般用EJB都要用序列化的
    VO来传递数据,如果你把DTO序列化了,同样也可以.
    DTO是数据传输对象,我们一般不序列化,用在不用ejb的场合,这些都是我们的习惯
    具体你可以查查相关的资料.
      

  6.   

    是不是序列化的对象才能在jsp页面中直接调用?
      

  7.   

    试想如果没有hibernate你会怎么办呢?我觉得上面有几位说的还是不妥吧DAO层封装DTO,返回到表现层,这样有什么不妥呢?为什么还要再转一次VO,不解
      

  8.   

    DAO层封装DTO,返回到表现层
    DTO是什么意思?
    DTO,VO,是什么区别?