在bean里定义:
private String name;
private Integer age;
public setName(Stirng name)
{
    this.name=name;
}
public setAge(Integer age)
{
    this.age=age;
}
===================
直接可以从request.getParameterMap()里获取数据,利用反射很容易赋值。但如果这些属性不直接定义在bean里而是像下面这样该怎么办?
private User user;
public setUser(User user)
{
    this.user=user;
}
如何应付这两种情况?要判断来判断去一层层反射简直要命,请给一个合理的实现思路,谢谢!

解决方案 »

  1.   

    为什么不统一接口呢?一会bean,一会非bean,当然不好写
      

  2.   

    可是struts2就实现了,也并不依靠什么接口。
      

  3.   

    我想,真不行的话,就定义一个标识接口,让POJO实现接口,这样就好判断了。
      

  4.   

    如果用到ActionForm就好做了  form里直接创建user这个对象,并生成set和get方法
    表单里文本框的值<intput name="user.name"> <intput name="user.age">这样定义  不过前提是user要有那2个属性
    这样就把你输入的值自动存放在pojo里了
    通过actionform.getUser().getName()取值;
      

  5.   

    按道理表单是要这样定义<intput name="user.name"> <intput name="user.age">,但难题就是在服务端要逐一拆解,判断非常多,万一再多一层就难应付了,不知道有没有一步到位的方法。
      

  6.   

    Struts2里 实现 Modeldriver<Object> 和 Preparable 接口即可
      

  7.   

    等你呀,其实我已经都实现了,就是不知道如何应付在bean里不直接定义字段而是POJO的情况。
      

  8.   

    这个原理和hibernate的ORM机制差不多吧~