Bonjour,
j'essaye actuelement d'appeler une méthode présente dans un bean depuis un selectOneMenu... mais rien y fais, j'ai bo me mettre en mode debug, ma methode n'est jamais appelé, et je ne sais vraiment plus quoi faire !!!!
Dans ma JSP:
Dans mon bean :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <h:selectOneMenu id="langue" value="#{langueUtilisateurBean.idLangue}" valueChangeListener="#{langueUtilisateurBean.modifLangueUtilisateur}" onchange="submit()"> <f:selectItems value="#{langueUtilisateurBean.items}" /> </h:selectOneMenu>
Mon selectOneMenu s'initialise très bien, il contient toutes les valeurs dont j'ai besoin, mais impossible de passer par la méthode "modifLangueUtilisateur" lorsque je selectionne un nouvel item !!!
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 public LangueUtilisateurBean(){ langueList = new ArrayList(); } public void modifLangueUtilisateur(ValueChangeEvent value) throws RecosException{ Utilisateur utilisateur = ContextUtils.getCurrentUser(); langueSelectionne = langueService.retrieveLangue((Long)value.getNewValue()); utilisateur.setLangue(langueSelectionne); ContextUtils.setCurrentUser(utilisateur); // Important: Utiliser renderResponse pour empecher // le passage dans la phase de validation FacesContext.getCurrentInstance().renderResponse(); } public Long getIdLangue() { Utilisateur utilisateur = ContextUtils.getCurrentUser(); idLangue = utilisateur.getLangue().getId(); return idLangue; } public void setIdLangue(Long idLangue) { this.idLangue = idLangue; } public SelectItem[] getItems() { // On initialise la combo langue try { langueList = langueService.retrieveLangues(); } catch (RecosException e) { // TODO Auto-generated catch block e.printStackTrace(); } Object[] langueTab = langueList.toArray(); items = new SelectItem[langueTab.length + 1]; items[0] = new SelectItem(""); for (int i = 1; i < items.length; i++) { langue = (Langue) langueTab[i - 1]; items[i] = new SelectItem(langue.getId().toString(), langue.getNom()); } return items; } public void setItems(SelectItem[] items) { this.items = items; }
Si quelqu'un a une idée, je suis vraiment preneur
Merci d'avance !
Partager