struts 2中模型驱动,如果存在两个javabean类属性,如何写,因为只有一个getModel()方法
如下;
CollectAction implements ModelDriven {
private Person person;
private Animal animal;
public setPerson(Person person) {
this.person = person;
}
public setAnimal(Animal animal) {
this.animal = animal;
}
//只有一个如何处理
public Object getModel() {
}
}

解决方案 »

  1.   

    public Object getModel() 

    //从request判断下,谁的操作,从哪来的操作,这个可以做吧if(A)
       Person 
    else
       Animal 

      

  2.   

    我觉得没这个必要吧,ModelDriven只是Struts2为了保持Sturts1的编程习惯开发的,这个JavaBean就相当于Strut1中的ActionForm,你见过Strut1中的actionmapping中可以配置两个name属性(ActionForm)吗?
      

  3.   


    CollectAction implements ModelDriven {
    private Person person;
    private Animal animal;
    public setPerson(Person person) {
    this.person = person;
    }
    public setAnimal(Animal animal) {
    this.animal = animal;
    }
    //只有一个如何处理
    public Person getPerson() {
      return person;
    }
    public Animal getAnimal () {
      return animal ;
    }}
      

  4.   

    不需要getModel() 方法直接给一对get set就可以了
      

  5.   

    可以用OGNL
    private Person person;
    private Animal animal;
    setter/getter页面
    <input type="text" name="person.xx">
    在Person类中要有xx属性并提供getter/setter
    而且Person 要有无参构造法方法
      

  6.   

    你认为这是模型驱动吗?不就是属性驱动的另外一种形式而已。
    模型驱动必须实现modeldriven接口,如:
    public class LoginAction implements ModelDriven<UserInfo>{public String execute(){
    .... 
    }
    public Object getModel(){
    return new UserInfo();
    }
    }