Bonjour à tous,

j'ai la liste déroulante suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<h:selectOneMenu id="resp" value="#{tacheBean.tache.responsable}" converter="utilisateurConverter">
                            <f:selectItems value="#{utilisateurBean.selectItemListUsers}"  />
                        </h:selectOneMenu>
J'alimente ma liste déroulante par la fonction suivante qui me retourne une liste d'Item clé/valeur de la forme Utilisateur/Nom Prenom :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public List<SelectItem> getSelectItemListUsers() {
 
        List<SelectItem> listItems = new ArrayList<SelectItem>();
        if (usersList == null) {
            usersList = this.userEjb.listeUtilisateur();
            for(Utilisateur user : usersList)
            {
                listItems.add(new SelectItem(user, user.getNom()+" "+user.getPrenom()));
            }
        }
        return listItems;
    }
Je voudrai pouvoir récupérer l'objet sélectionné dans ma liste pour le stocker directement dans l'objet "responsable" qui est aussi de type Utilisateur, comme je l'indique dans mon code JSF :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<h:selectOneMenu id="resp" value="#{tacheBean.tache.responsable}" converter="utilisateurConverter">
Malheureusement j'ai l'erreur suivante :
Erreur de conversion lors de la définition de la valeur «entity.Utilisateur@137cf19» pour «null Converter».

Après de nombreuses recherches sur internet, il faudrait apparemment que je crée un converter.
J'ai donc la classe suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package converter;
 
import entity.Utilisateur;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
 
@FacesConverter("utilisateurConverter")
public class UtilisateurConverter implements Converter {
 
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
 
 
        return null;
    }
 
    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        Utilisateur u = (Utilisateur) value;
        return u.getNom()+ " "+u.getPrenom();
    }
 
 
}
J'ai besoin de vous pour ma fonction getAsObject, je ne sais pas du tout comment convertir en Objet Utilisateur.
Merci d'avance pour votre aide.