Devo usare JSTL in JSF 2 pagine XHTML?
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!
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