Bonjour,
le problème est dans le titre... Je n'arrive pas à utiliser un Converter pour récupérer la valeur d'un SelectOneMenu.
j'ai trouvé plein de sujets sur ce problème mais je n'arrive pas à resoudre le mien

Affichage de la liste déroulante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
   public List <SelectItem> getSelectItems() {
        if (selectItems == null) {
            selectItems = new ArrayList <SelectItem> ();
            List<User> listUsers = getUsers();
            for (User usr : listUsers) {
                selectItems.add(new SelectItem(usr, usr.getLogin()));
            }
        }
        return selectItems;
    }
Page JSF:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<h:selectOneMenu value="#{userController.selectedItem}" converter="userConverter">
<f:selectItem itemLabel="Choix"/>
<f:selectItems value="#{userController.selectItems}"/>
</h:selectOneMenu>
L'attribut SelectedItem de userController est un User

Donc il faut que j'utilise un converter, (je ne sais pas trop comment l'écrire).


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public class UserConverter implements Converter {
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        return new User();
    }
 
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        return "String";
    }      
}
Quand je valide: Valeur is not Valid! c'est quoi son problème???