Hinzufügen von Elementen zur Liste in Request Scoped Bean
Ich habe eine Hintergrundbohne wie folgt:
@Named
@RequestScoped
public class ClientNewBackingBean {
@Inject
private ClientFacade facade;
private Client client;
DasClient
Klasse hat eineList<Child> childrenList
Attribut, unter anderem. Ich kann ein neues erstellenClient
beim Einstellen derchildrenList
mitnew ArrayList()
.
In der Ansicht habe ich ein Eingabetextfeld und einAdd Child
Taste. Die Schaltfläche hat das AttributactionListener=#{clientNewBackingBean.addChild()}
umgesetzt als:
public void addChild() {
if(client.getChildrenList() == null) {
client.getChildrenList(new ArrayList());
}
Child c = new Child("John Doe");
client.getChildrenList().add(c);
}
Immer wenn dieAdd Child
Wenn Sie auf die Schaltfläche klicken, wird die Bean neu erstellt, und in der Ansicht wird nur ein John Doe-Kind angezeigt (da es, wie ich glaube, einen Anforderungsbereich hat). Gibt es eine andere Möglichkeit, dieses Problem zu lösen, als den Bean-Bereich in Session zu ändern?