Bonjour,

Je voudrais utiliser un objet en tant que valueItem est-ce possible ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<h:selectOneMenu value="#{componentsBean.moto}" converter="">
    <t:selectItems value="#{componentsBean.motos}" var="moto" itemLabel="#{moto.libelle}"
        itemValue="#{moto}" />
</h:selectOneMenu>
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
 
public class ComponentsBean {
 
    private List<Moto> motos;
    private Moto moto;
 
[...]
 
    public List<Moto> getMotos() {
        return motos;
    }
 
    public Moto getMoto() {
        return moto;
    }
 
    public void setMoto(Moto moto) {
        this.moto = moto;
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public class Moto implements Serializable {
 
    private String cylindre;
    private String modele;
    private String marque;
    private Double prix = 0.0;
 
[...]
 
    public String getLibelle() {
        return "Moto "+marque+" "+modele+" "+cylindre+"cm3 : "+prix+"€";
    }
}
seulement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Caused by: java.lang.IllegalArgumentException: Value is no String (class=com.jsf.appli.tests.bean.Moto, value=com.jsf.appli.tests.bean.Moto@1bbea67) and component combo:j_id_jsp_111406339_2:j_id_jsp_111406339_3 [...] does not have a Converter
Existe t-il un solution simple sans créer de converter ?

merci.