Hallo!
Ich bin langsam am verzweifeln... Ich möchte eigentlich nur für h:selectOneListbox über ein SelectItem[] oder eine HashMap<String,Object> iterieren, und den value (also das mit dem key verknüpfte object) speichern. Meine index.jsp sieht folgendermaßen aus:
Die input-Methoden sehen folgendermaßen aus:
Die SelectItems bestehen jeweils aus einem label und einem InputOption-Objekt als value. (Ich habe das ganze auch mit einer HashMap<String,InputOption> versucht, es passiert genau das selbe).
Nun ist es so, dass die labels in der Listbox korrekt angezeit werden, die Form wird beim Drücken des buttons aber gar nicht erst submitted, der button klickt nur und die webseite bleibt statisch. Jetzt das kuriose: ändere ich die setSelectedOption-Methode so, dass sie statt InputOption einfach "Object" als parameter nimmt, funktioniert die Navigation einwandfrei, d.h. meinem bean wird wohl nicht wie gedacht ein InputOption-Objekt übergeben... lasse ich übrigens dann Object.toString() ausgeben, bekomme ich
sowas wie "InputOption@26faf2", hm.
Kann es also sein, dass hier nur manche Objekte unterstützt werden, wie Strings und Integers? Laut CoreJSF sollte es mit allen funktionieren
Verzweifelte Grüße,
Zockrates
Ich bin langsam am verzweifeln... Ich möchte eigentlich nur für h:selectOneListbox über ein SelectItem[] oder eine HashMap<String,Object> iterieren, und den value (also das mit dem key verknüpfte object) speichern. Meine index.jsp sieht folgendermaßen aus:
HTML:
<h:form>
<h:selectOneListbox value="#{input.selectedOption}" size="1">
<f:selectItems value="#{input.options}"/>
</h:selectOneListbox>
<p><h:commandButton value="next" action="next" /></p>
</h:form>
Die input-Methoden sehen folgendermaßen aus:
Java:
public SelectItem[] getOptions() {
return options;
}
public void setOptions(SelectItem[] options) {
this.options = options;
}
public void setSelectedOption(InputOption selectedOption) {
this.selectedOption = selectedOption;
}
Die SelectItems bestehen jeweils aus einem label und einem InputOption-Objekt als value. (Ich habe das ganze auch mit einer HashMap<String,InputOption> versucht, es passiert genau das selbe).
Nun ist es so, dass die labels in der Listbox korrekt angezeit werden, die Form wird beim Drücken des buttons aber gar nicht erst submitted, der button klickt nur und die webseite bleibt statisch. Jetzt das kuriose: ändere ich die setSelectedOption-Methode so, dass sie statt InputOption einfach "Object" als parameter nimmt, funktioniert die Navigation einwandfrei, d.h. meinem bean wird wohl nicht wie gedacht ein InputOption-Objekt übergeben... lasse ich übrigens dann Object.toString() ausgeben, bekomme ich
sowas wie "InputOption@26faf2", hm.
Kann es also sein, dass hier nur manche Objekte unterstützt werden, wie Strings und Integers? Laut CoreJSF sollte es mit allen funktionieren
Verzweifelte Grüße,
Zockrates