ich knabber an einem JSF 1.1 ( + Facelets) Beispiel rum, was so
einfach sein sollte, aber einfach nicht funktionieren will: Es soll
ein int-Property in einem Backing-Bean gesetzt werden. Dazu folgendes
Beispiel:
public class BackingBean {
private int property;
public void setProperty(int property) {
this.property = property;
}
public int getProperty() {
return this.property;
}
}
BackingBean ist in der faces-config.xml für den Session-Scope als "bb"
vereinbart und soll über folgendes JSF-Fragement setzbar sein:
<h:selectOneListbox id="property" value="#{bb.property}">
<f:selectItem itemValue="-1" itemLabel="-1" />
<f:selectItem itemValue="0" itemLabel="0" />
<f:selectItem itemValue="1" itemLabel="+1" />
</h:selectOneListbox>
<h:messages for="property" />
Ergebnis beim Absenden: "Wert ungültig", ausgegeben durch <h:mesages /
>.
Warum?
Gruß,
Christoph
Hi, wäre ganz gut mal die logs zu sehen? (evtl. l4j oder so). Ich habs
noch nicht bei mir ausprobiert. daher vermute ich, dass das Value ein
kein int ist? Probier mal mit String, kann sein das ihm das
Schwierigkeiten bereitet.
> Hi, wäre ganz gut mal die logs zu sehen? (evtl. l4j oder so). Ich habs
> noch nicht bei mir ausprobiert. daher vermute ich, dass das Value ein
> kein int ist? Probier mal mit String, kann sein das ihm das
> Schwierigkeiten bereitet.
Die Logs sagen wenig aus, denn der entsprechende Setter wird ja gar
nicht aufgerufen. Mit JSF 1.2 funktioniert es übrigens reibungslos, da
scheinen die Konversions-Mechanismen etwas ausgefeilter.
Mal ganz grundsätzlich, wenn ich itemValue="1" schreiben, was ist das
dann intern? String? Object? Was wäre bei itemValue="#{1}" bzw.
itemValue="#{'1'}" . Mal forschen.
Gruß,
Christoph
> Die Logs sagen wenig aus, denn der entsprechende Setter wird ja gar
> nicht aufgerufen. Mit JSF 1.2 funktioniert es übrigens reibungslos, da
> scheinen die Konversions-Mechanismen etwas ausgefeilter.
>
> Mal ganz grundsätzlich, wenn ich itemValue="1" schreiben, was ist das
> dann intern? String? Object? Was wäre bei itemValue="#{1}" bzw.
> itemValue="#{'1'}" . Mal forschen.
>
> Gruß,
>
> Christoph
http://java.sun.com/javaee/javaserverfaces/1.2_MR1/docs/api/index.html
:D
value ist ein Object, label ein String usw... (see also api)
Gruß,
Thorben Ruthke