将setProperty传递给内部对象的setProperty

时间:2011-05-18 00:05:57

标签: java properties javabeans

我有一个UserPass类,它有2个属性:User user;字符串密码 用户还有其他属性,如username,systemId等。

我在UserPass上调用了setProperty(“username”,value),它实际上应该设置UserPass中User的属性。

有人可以建议如何做到这一点吗?我通过以下方式查看了来自apache commons beanutils的PropertyUtils:PropertyUtils.setProperty(UserPass.getUser(),“username”,value),但这会引发java.lang.IllegalArgumentException:没有指定bean

1 个答案:

答案 0 :(得分:0)

看起来您需要使用UserPass对象的实例。你这样做的方式使它看起来好像你在类上调用静态方法getUser()。假设你有一个像这样声明的UserPass:

  UserPass up = new UserPass();
  //set the various properties including the User object

然后

 PropertyUtils.setProperty(up.getUser(), "username", value);

将起作用,但仅当getUser()返回非null对象时才会起作用。