Hallo.
Folgendes Szenario. Ich habe ein selectOneListbox-Menü und will ja nach Auswahl ein anderes selectOneListbox-Menü befüllen. Da hierfür nicht jedes Mal das komplette Formular übermittelt werden soll, muss das Problem mit Ajax gelöst werden.
Ich habe bisher folgenden Code:
XHTML-Seite:
CategoryController:
Mein Problem ist, dass aktuell die Methode valueChanged1 nicht aufgerufen wird, und sollte ich es doch geschafft haben, dass diese aufgerufen wird, bekomme ich einen NullPointerException.
Ich habe auch im Internet schon stundenlang nach einer Lösung gesucht und vor allem die Vorschläge von StackOverflow ausprobiert, allerdings ohne jeglichen Erfolg. Ich finde meinen Fehler nicht...
Folgendes Szenario. Ich habe ein selectOneListbox-Menü und will ja nach Auswahl ein anderes selectOneListbox-Menü befüllen. Da hierfür nicht jedes Mal das komplette Formular übermittelt werden soll, muss das Problem mit Ajax gelöst werden.
Ich habe bisher folgenden Code:
XHTML-Seite:
Code:
<ui:composition template="./../META-INF/templates/template.xhtml"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core">
<ui:define name="content">
<h:form >
<h:selectOneListbox id="selectOneListbox1AddItem" value="#{categoryController.company}">
<f:selectItems value="#{categoryController.selectOneListBox1}" var="comp" itemLabel="#{comp.companyName}" itemValue="#{comp}"/>
<f:ajax listener="#{categoryController.valueChanged1}" />
</h:selectOneListbox>
<h:selectOneListbox id="selectOneListbox2AddItem">
<f:selectItems value="#{categoryController.selectOneListBox2}"/>
</h:selectOneListbox>
</h:form>
</ui:define>
</ui:composition>
CategoryController:
Java:
@Named
@ViewScoped
public class CategoryController implements Serializable {
private static final long serialVersionUID = 5639623356569403812L;
private List<Company> selectOneListBox1;
private List<Company> selectOneListBox2;
private Company company;
// Getter & Setter
public void valueChanged1(AjaxBehaviorEvent event) {
System.out.println("Input:" + company.getCompanyName());
}
...
Mein Problem ist, dass aktuell die Methode valueChanged1 nicht aufgerufen wird, und sollte ich es doch geschafft haben, dass diese aufgerufen wird, bekomme ich einen NullPointerException.
Ich habe auch im Internet schon stundenlang nach einer Lösung gesucht und vor allem die Vorschläge von StackOverflow ausprobiert, allerdings ohne jeglichen Erfolg. Ich finde meinen Fehler nicht...
Zuletzt bearbeitet: