Bonjour,
Je débute en JSF et j'essaye de disposer dans une page xhtml:
- 1 premier composant selectOneMenu chargé "en dur" dans la page.
- 1 deuxième selectOneMenu chargé dynamiquement en fonction du choix dans le précédent
- 1 troisième selectOneMenu chargé lui aussi dynamiquement en fonction du choix du 2eme selectOneMenu
J'ai opté pour "ajaxisé" mes composants. Le premier sur ma première liste déroulante fonctionne bien et met bien à jour ma seconde liste déroulante. Le deuxième appel ajax est inopérant. Je ne comprends pas pourquoi.
Mon environnement: Glassfish 4.1, Primefaces 5.1, JSF 2.2 (Mojarra) et jdk 1.8.
Mon managedBean, annoté @Named, a un scope request.
Ci-dessous le code moa page xhtml:
Faudrait-il que je change le scope de mon managedBean ou que je fasse des submits ? ou autre chose ?
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 <h:form id="monForm"> <p:panelGrid columns="2"> <p:outputLabel for="choix1" value="Choix 1" /> <p:selectOneMenu id="choix1" value="#{pageAMB.selectedChoix1}"> <p:ajax update="choix2" /> <f:selectItem itemValue="" itemLabel="*** Choisir ***" noSelectionOption="true" /> <f:selectItem itemValue="1" itemLabel="Ligne 1" /> <f:selectItem itemValue="2" itemLabel="Ligne 2" /> <f:selectItem itemValue="3" itemLabel="Ligne 3" /> <f:selectItem itemValue="4" itemLabel="Ligne 4" /> </p:selectOneMenu> <p:outputLabel for="choix2" value="Choix 2" /> <p:selectOneMenu id="choix2" value="#{pageAMB.selectedChoix2}"> <p:ajax update="choix3" /> <f:selectItem itemValue="" itemLabel="*** Choisir ***" noSelectionOption="true" /> <f:selectItems value="#{pageAMB.listChoix2}" /> </p:selectOneMenu> <p:outputLabel for="choix3" value="Choix 3" /> <p:selectOneMenu id="choix3" value="#{pageAMB.selectedChoix3}"> <f:selectItem itemValue="" itemLabel="*** Choisir ***" noSelectionOption="true" /> <f:selectItems value="#{pageAMB.listChoix3}" /> </p:selectOneMenu> </p:panelGrid>
Merci pour votre aide
Partager