dans les selectItems, il semble que tu passe en valeur l'id et pas le libellé, et dans le converter tu essaye de récupérer l'objet à partir du libellé.
Version imprimable
dans les selectItems, il semble que tu passe en valeur l'id et pas le libellé, et dans le converter tu essaye de récupérer l'objet à partir du libellé.
Tu essayes de faire quoi exactement ?
De charger la liste des livres selon la langue ?
Pourquoi t'utilise des converters ?
No Sniper, je passe les deux: ID et Libelle
Voici le code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 private List<SelectItem> lstLanguesItems = null; public List<SelectItem> getLstLanguesItems() { return lstLanguesItems;} public void setLstLanguesItems(List<SelectItem> lstLanguesItems) {this.lstLanguesItems = lstLanguesItems;} public List<SelectItem> getListLanguesItems() throws NamingException { context = new InitialContext(); LangueDAORemote langue = (LangueDAORemote) context .lookup("LangueDAO/remote"); List<Langue> lstLanguesFromBo = langue.getListLangues(); if (lstLanguesItems != null) { lstLanguesItems.clear(); } else { lstLanguesItems = new ArrayList<SelectItem>(); } for (Langue current : lstLanguesFromBo) { lstLanguesItems.add(new SelectItem(current.getId(), current .getLibelle())); } return lstLanguesItems;
Tu ne peux pas passer les deux en valeur, le selectItem prend la valeur qui sera transmise au serveur dans ton cas l'id et libelle à afficher, dans ton cas libellé.
la déclaration du constructeur:
et toi tu faisCode:
1
2
3 public SelectItem(Object value, String label) { }
la valeur transmise au serveur est current.getId().Code:
1
2
3 lstLanguesItems.add(new SelectItem(current.getId(), current .getLibelle()));
comme ça je ne vois pas pourquoi tu va utiliser un converter, tu peux faire la requete dans le bean. Sinon tu peux passer l'objet Langue en value.
Code:
1
2
3 lstLanguesItems.add(new SelectItem(current, current .getLibelle()));
Merci énormément Sniper
ça fonctionné, comme vous m'avez dits:
j'ai changé seulement cette ligne:
current, au lieu de current.getId()Code:
1
2 lstLanguesItems.add(new SelectItem(current, current .getLibelle()));
:ccool: :ccool: :ccool:
Je suis fiere de vousssss Tousssssss
Merci