Dois-je utiliser JSTL dans JSF 2 pages xhtml?
Question
Je souhaite lier un champ de haricot de support à la valeur sélectionnée d'un selectOneListbox. Cette valeur peut être nulle, donc je veux convertir en 0. Cela va régler la valeur sélectionnée à la selectItem « par défaut ». J'utilise JSF2
Je prévois de le faire avec le http://java.sun.com/jstl/ noyau taglib (en utilisant <c:if test="#{empty...}>
)
Ma question est : est-il un moyen "plus propre" pour le faire. Peut-être que JSF (2) taglib connexes?
Merci!
La solution
La façon de le faire serait « JSFish » pour créer un convertisseur:
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();
}
Autres conseils
Il suffit d'utiliser Long
ou Integer
au lieu de String
comme valeur de l'élément. EL forcera automatiquement le numéro (et booléen) les valeurs de / à chaîne.