CompoundPropertyModel Wicket - Графы объектов
Я хотел бы использовать CompoundPropertyModel в Wicket для создания пользователя.
Мой пользовательский класс выглядит так:
public class User {
private String username;
...
private Address address;
...
}
public class Address{
private String street;
...
}
Если я пытаюсь получить доступ к улице адреса через модель составного свойства пользователя, я получаю исключение nullpointerexception, конечно: "user.address.street". Поэтому я должен заранее создать экземпляр класса "Адрес". Есть ли более элегантный способ динамического создания полей-членов?
Спасибо
1 ответ
Решение
Если у пользователя должен быть адрес, вы должны создать экземпляр адреса в конструкторе для пользователя. В противном случае вы можете выполнить проверку на null в вашем методе getAddress() и создать новый экземпляр, если он равен null...
public Address getAddress() {
if (address == null) {
address = new Address();
}
return address;
}