私は次のようなバッキング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の子が1つだけ表示されます(Requestスコープであるため)。BeanスコープをSessionに変更する以外に、これを解決する別の方法はありますか?