Bonjour,

Après avoir éplucher tous les lien sur le sujet sur le web je m'en remet à vous ...

Donc je n'arrive pas à récupérer une valeur contenu dans un selectOneMenu dans mon bean

code XHTML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<h:outputText value="Promotion :" />  
<p:selectOneMenu value="#{gestionEtudiantBean.etudiant.promotion}" effect="fade" converter="#{genericSecuredConverter}">
     <f:selectItem itemLabel="Sélectionnez une promotion" />  
     <f:selectItems value="#{gestionPromotionBean.promotions}" var="promo" itemLabel="#{promo.libelle}" itemValue="#{promo}"/>  
</p:selectOneMenu>
code du Bean promotion (getter) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 public List<Promotion> getPromotions() {
 
        try{
            tx.begin();
            this.promotions = em.createQuery("SELECT p FROM Promotion p").getResultList();
            tx.commit();
        }catch(Exception ex){
            ex.printStackTrace();
        }
        return promotions;
    }
code du Bean etudiant (setter) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
 public void setEtudiant(Etudiant etudiant) {
        this.etudiant = etudiant; //promotion est un objet de etudiant
    }
code du converter :
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
27
28
29
30
31
32
33
34
35
 
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.view.ViewScoped;
import javax.inject.Named;
 
 
/**
 *
 * @author Edouard
 */
@Named
@ViewScoped
public class GenericSecuredConverter implements Converter, Serializable {
 
    private final Map <UUID, Object> temporaryStore = new HashMap <> ();
 
    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        return temporaryStore.get(UUID.fromString(value));
    }
 
    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        UUID id = UUID.randomUUID();
        temporaryStore.put(id, value);
        return id.toString();
    }
 
}
erreur lors de l'envoi du formulaire :
"formulaire:j_idt31 : erreur de validation. La valeur est incorrecte."

Alors vous en dites quoi ?

PS : inutile de m'envoyer sur des liens comme http://www.developpez.net/forums/d11...ique-securise/
je les ai déjà tous lu, et je suis vraiment bloqué là je sais plus quoi faire ...