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;
}
Другие вопросы по тегам