Les valeurs d'une ComboBox en JSF
Bonjour,
Je débute en JSF.
Mon exemple coté JSP:
Code:
1 2 3 4
|
<h:selectOneMenu id="combo" value="#form.salarieValue}">
<f:selectItems value="#{form.salariesElements}" />
</h:selectOneMenu> |
Côté Bean :
Code:
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 36
|
public class Form {
private boolean viewInfosIsRendered = false;
private List<SelectItem> salariesElements;
private String salarieValue;
public Form() {
}
public List<SelectItem> getSalariesElements() {
// la liste des employs est demandée à la couche métier
List<Employe> employes = metier.findAllEmployes();
// on génère la liste des éléments du combo
if (salariesElements == null) {
salariesElements = new ArrayList<SelectItem>();
for (Employe empl : employes) {
salariesElements.add(new SelectItem(empl.getSS(), empl.getNom()));
}
}
return salariesElements;
}
public void setSalariesElements(List<SelectItem> salariesElements) {
this.salariesElements = salariesElements;
}
public String getSalarieValue() {
return salarieValue;
}
public void setSalarieValue(String salarieValue) {
this.salarieValue = salarieValue;
}
} |
J'arrive à afficher dans ma combo les noms des salariés. Par contre quand je sélectionne un nom dans la combo, je veux que la valeur correspondante à ce nom en l'occurrence ici le numéro ss soit envoyée au bean.
En gros j'ai :
employeId | employeName
1 | Dupont
2 | Duront
3 | autre nom
........................
Si je sélectionne Dupont je veux envoyer 1, si Duront envoyer 2....
mais je remarque que la méthode setSalarieValue() n'est jamais appelée.
Je vous remercie pour votre aide.