Ich habe ein SelectOneMenu, welches mir "Kunden" anzeigt, von denen dann der angewählte an eine Bean übergeben werden soll. Die Kunden werden korrekt nach meiner Vorgabe als SelectItems angezeigt mit Vor- und Nachname und als value dieser SelectItems ist jeweils auch korrekterweise ein Objekt der Klasse Customer enthalten, wie ich durch Debugging gesehen habe. Aber die Auswahl wird einfach nicht auf die Bean geschrieben.
Auf der jsf-Seite sieht es so aus:
In der PersonListBean sieht es so aus:
Wie gesagt funktioniert alles korrekt bis zu dem Moment, wo nach der Auswahl die Methode "setCustomer(...)" der KontoListBean aufgerufen wird. Da wird als Parameter dann "null" übergeben, statt dem ausgewählten Kunden. Was mache ich falsch?
Danke schonmal für die Hilfe!
Auf der jsf-Seite sieht es so aus:
Java:
<h:selectOneMenu id="pickCustomer" size="3" value="#{kontoListBean.customer}">
<f:selectItems value="#{personListBean.customerItems}" />
</h:selectOneMenu>
In der PersonListBean sieht es so aus:
Java:
public List<SelectItem> getCustomerItems() {
List<SelectItem> customerItems = new ArrayList<SelectItem>();
if (getPersonList() == null) {
return customerItems;
}
for (Person listPerson : getPersonList()) {
if (listPerson instanceof Customer) {
customerItems.add(new SelectItem(listPerson, listPerson.getForename() + " " + listPerson.getSurname()));
}
}
return customerItems;
}
Wie gesagt funktioniert alles korrekt bis zu dem Moment, wo nach der Auswahl die Methode "setCustomer(...)" der KontoListBean aufgerufen wird. Da wird als Parameter dann "null" übergeben, statt dem ausgewählten Kunden. Was mache ich falsch?
Danke schonmal für die Hilfe!