передать setProperty в setProperty внутреннего объекта

У меня есть класс UserPass, который имеет 2 свойства: User user; Строковый пароль Пользователь имеет другие свойства, такие как имя пользователя, идентификатор системы и т. д.

У меня есть вызов setProperty ("имя пользователя", значение) в UserPass, который должен фактически установить свойство пользователя, которое находится внутри UserPass.

Может кто-нибудь подсказать, как это можно сделать? Я просмотрел PropertyUtils из apache commons beanutils, получив следующее: PropertyUtils.setProperty(UserPass.getUser(), «имя пользователя», значение), но это вызывает исключение java.lang.IllegalArgumentException: не указано bean


person sunbiz    schedule 18.05.2011    source источник


Ответы (1)


Похоже, вам нужно использовать экземпляр объекта UserPass. То, как вы это делаете, выглядит так, как будто вы вызываете статический метод класса для getUser(). Скажем, у вас есть UserPass, объявленный как up следующим образом:

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

тогда

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

будет работать, но только если getUser() возвращает ненулевой объект.

person Vincent Ramdhanie    schedule 18.05.2011