可以将pojo的对象设成单例的,当你在处理Form时给pojo对象附值.就可以实现(或在处理类中声明一个静态的属性存放封装对象).
我感觉没有现成的方法在src目录下处理actionform中的参数.

解决方案 »

  1.   

    2楼,如果有FormBean有很多属性,是不是要一个一个属性值赋值到POJO中啊
      

  2.   

    2楼,如果有FormBean有很多属性,是不是要一个一个属性值赋值到POJO中啊
    ==============================================================
    一般形式是一个formbean对应一个pojo。所以要一个一个属性值赋值到POJO中如果嫌这样麻烦可以使用一些控件进行自动赋值,例如:Dozer MapperIF mapper = new DozerBeanMapper();
    CardType cardType = (CardType) mapper.map(ctf, CardType.class);
      

  3.   

    谢谢了,但是POJO属性中不一定是Stirng属性啊,
    如果是返回的是一个对象,怎么处理啊,而Struts大多数是String 
    他能赋值过去吗?
      

  4.   

    假设我的POJO有这样一个属性如下,它的属性类型是Set,
    而FormBean中的类型String,该如何赋值啊
    POJO:
        /** persistent field */
        private Set UserInfos;
    FormBean:
        private String UserInfoId;
      

  5.   

    碰到这种有外键存在的情况,请问
    在FormBean和POJO设计方面
    有什么好的建议,
    我也刚学这个不久,还请大侠多多指教
      

  6.   

    不知道你的ACTIONFORM接收的是哪个POJO,是Degree还是USER,
    我姑且猜测是接收的USER,也就是添加新的学生,给每个学生加一个学位号,这样在HIEBRNATGE里可以做USER的多对一映射,代码如下,
    User.hbm.xml<class name="pojo.User" table="USER" >

    <id name="uid" column="uid" type="int">
    <generator class="increment"></generator>
    </id>
    <property name="name" column="user_name" type="string"></property>

    <property name="degreeCode" column="degreeCode" type="string" insert="false" update="false"></property>

    <many-to-one name="staticDegree"
     class="pojo.StaticDegree"
     cascade="all"
     
     column="degreeCode"
     
     lazy="false"
     
     >
    </many-to-one>



    </class>StaticDegree.hbm.xml保持原生映射就可以,不需要关联,操作如下
    StaticDegree staticDegree = session.load(StaticDegree.class,"222550002");



    User user1 = new User() ;
    user1.setName("name06") ;
    user1.setStaticDegree(staticDegree);



    session.save(user1);



    User user2 = new User() ;
    user2.setName("name04") ;
    user2.setStaticDegree(staticDegree);



    User user3 = new User() ;
    user3.setName("name05") ;
    user3.setStaticDegree(staticDegree);


    session.save(user1);
    session.save(user2);
    session.save(user3);


    这样可以级联添加,
    不过基于维护性考虑,最好不要外键,全都手写代码,以免改动数据库带来的麻烦:)ACTIONFORM和POJO之间可以通过STRUTS的BeanUtil类来实现,方法是public void copyProperties(java.lang.Object dest, java.lang.Object orig) 把orig中的值copy到dest中. 
      

  7.   

    谢谢楼上的,如果碰到下面属性
         private Set changeDegrees;
    该如何赋值啊User.hbm.xml 片段
        <set
            name="changeDegrees"
            lazy="true"
            inverse="true"
    cascade="none"
            >
            <key>
                <column name="iEmployeeID" />
            </key>
            <one-to-many
                class="com.jxtcmi.pmis.hbm.ChangeDegree"
            />
        </set>
      

  8.   

    可以不用actionFrom的,pojo类都是可以做处理的.
    我在做struts和hibernate结合是,都没有建过actionForm
      

  9.   

    按有几个群,你不妨加进去,可以和大家一起讨论啊.........46986340,28039577,4804620                                                               
    在那里看看有无能回答你的,谢谢,LZ,甭忘了给俺分哦,谢谢LZ