Domanda

Vorrei legare campo di un backing bean al valore selezionato di un selectOneListbox. Questo valore potrebbe essere nullo, quindi voglio convertire questo a 0. Questo imposterà il valore selezionato al selectItem "default". Sto utilizzando JSF2

ho intenzione di fare questo con la http://java.sun.com/jstl/ nucleo taglib (usando <c:if test="#{empty...}>)

La mia domanda è : c'è un modo "pulito" per farlo. Forse JSF (2) taglib correlato?

Grazie!

È stato utile?

Soluzione

Il modo "JSFish" per fare questo sarebbe quello di creare un convertitore:

public Object getAsObject(FacesContext context, UIComponent comp, String param) {
    return (param.equals("0")) ? null : param;
}

public String getAsString(FacesContext context, UIComponent comp, Object obj) {
    return (obj == null) ? "0" : obj.toString();
}

Altri suggerimenti

Basta usare Long o Integer invece di String come valore di oggetto. EL verrà costringere automaticamente il numero (e booleano) valori da / a stringa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top