Bonjour,
J’essaye d’intégrer une saisie d'adresse avec cette manière :
1- Choix du pays (SelectOneMenu)
2- Choix de la Region (SelectOneMenu dependant du pays choisie)
3- Choix de la Ville (SelectOneMenu dependant de la region choisie)
4- Saisie de l'adresse avec option autocomplete (InputText dependant de la ville choisie)
Pour chaque élément j'ai un managedBean (paysBean, regionBean, villeBean et adresseBean)
voici le code JSF pour cela :
Le 1er souci que j'ai est que lorsque je choisie le pays pour la première fois, la valeur idPays n'est pas setter mais si je le fais une seconde, troisième fois la valeur est bien setter dans le ManagedBean.
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 <div class="s_row_2 clearfix"> <label><strong>Pays</strong></label> <h:selectOneMenu id="pays" style="width: 150px;" value="#{paysBean.idPays}"> <f:selectItem itemValue="0" itemLabel="--------"></f:selectItem> <f:selectItems value="#{paysBean.paysItems}"></f:selectItems> <p:ajax update="pays div_region" /> </h:selectOneMenu> </div> <div class="s_row_2 clearfix" id="region"> <label><strong>Region</strong></label> <h:selectOneMenu id="div_region" style="width: 200px;" value="#{regionBean.idRegion}"> <f:selectItem itemValue="0" itemLabel="--------"></f:selectItem> <f:selectItems value="#{regionBean.getRegionItems(paysBean.idPays)}"></f:selectItems> <p:ajax update="div_ville" /> </h:selectOneMenu> <p:message for="div_region" /> </div> <div class="s_row_2 clearfix" id="ville"> <label><strong>Ville</strong></label> <h:selectOneMenu id="div_ville" style="width: 200px;" value="#{villeBean.idVille}"> <f:selectItem itemValue="0" itemLabel="--------"></f:selectItem> <f:selectItems value="#{villeBean.getVilleItems(regionBean.idRegion)}"></f:selectItems> <p:ajax update="adresse" /> </h:selectOneMenu> </div> <div class="s_row_2 clearfix" id="div_adresse"> <label class="required"><strong>Adresse</strong></label> <p:autoComplete id="adresse" value="#{adresseBean.libelle}" completeMethod="#{adresseBean.completeText}"/> </div>
le 2eme souci est que je trouve pas le moyen pour mettre a jour la liste des adresse (adresses) en fonction de la ville choisie. (1er appel)
Note : l'attribut adresses est dans le bean AdresseBean
Merci de votre aide.
Partager