Problème selectOneItem avec un boolean
Encore un problème. Voilà mon code :
Code:
1 2 3 4 5
|
<h:selectOneMenu value="#{membreBean.membre.estUnHomme}">
<f:selectItem itemValue="true" itemLabel="Homme" />
<f:selectItem itemValue="false" itemLabel="Femme" />
</h:selectOneMenu> |
L'attribut estUnHomme est un boolean.
Lors de l'affichage, la valeur par défaut n'est pas la bonne.
Mais surtout, à la validation de mon formulaire, j'ai
Code:
Erreur de validation: Valeur not valid.
Le type boolean n'est-il pas censé avoir un converter par défaut?
Erreur de validation selectOneMenu de type Long
Bonjour,
J'ai le même problème que celui évoqué dans ce post, mais avec un type Long au lieu de Boolean (je travaille avec Tomahawk).
J'ai essayé d'ajouter le convertisseur LongConverter, mais ça n'y change rien.
Avez-vous résolu votre problème avec le type Boolean ?
Merci d'avance.
(Je précise que je débute depuis peu avec JSF, donc n'hésitez pas à apporter des conseils sur des points "évidents").
Message d'erreur de validation : "La donnée n'est pas une option valide."
Dans la JSP :
Code:
1 2 3 4 5
|
<t:selectOneMenu id="medecin" value="#{rechercheRdvParCriteresForm.idMedecin}" converter="javax.faces.convert.LongConverter">
<f:selectItem itemValue="-1" itemLabel="#{msgG.Indifferent}"/>
<t:selectItems value="#{medecins}" var="med" itemValue="#{med.id}" itemLabel="#{med.nom} #{med.prenom}"/>
</t:selectOneMenu> |
Dans mon bean rechercheRdvParCriteresForm :
Code:
1 2 3 4 5 6 7 8 9 10
|
private Long idMedecin = new Long(-1);
public Long getIdMedecin() {
return idMedecin;
}
public void setIdMedecin(Long idMedecin) {
this.idMedecin = idMedecin;
} |
Dans faces-config.xml :
Code:
1 2 3 4 5 6
| <converter>
<converter-id>
javax.faces.convert.LongConverter</converter-id>
<converter-class>
javax.faces.convert.LongConverter</converter-class>
</converter> |