У меня есть поддержка bean следующим образом:
@Named
@RequestScoped
public class ClientNewBackingBean {
@Inject
private ClientFacade facade;
private Client client;
Класс Client
имеет атрибут List<Child> childrenList
, среди прочих. Я могу создать новый Client
при установке childrenList
с помощью new ArrayList()
.
В представлении у меня есть текстовое поле ввода и кнопка Add Child
. Кнопка имеет атрибут actionListener=#{clientNewBackingBean.addChild()}
, реализованный как:
public void addChild() {
if(client.getChildrenList() == null) {
client.getChildrenList(new ArrayList());
}
Child c = new Child("John Doe");
client.getChildrenList().add(c);
}
Каждый раз, когда нажимается кнопка Add Child
, воссоздается bean, и в представлении отображается только один дочерний элемент John Doe (из-за этого, я полагаю, из-за его запроса). Есть ли другой способ решить эту проблему, кроме изменения области bean на сеанс?