Hello,
J'ai dans ma page JSF ajouté la possibilité d'ajouter un élément dans une liste, lorsque l'utilisateur les données sont remplis à partir des données séléctionnés (l'utilisateur modifie ensuite ces données pour qu'elles correspondent aux nouvelles données) -je sais pas si c'est assez clair-
Tout ce passe bien pour l'ajout qui se fait par le biais de cette méthode
A la fin du traîtement je fais un this.selectedParcelle = mainParcelle;
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 public void addLinkedLocalisation(ActionEvent event) { if (mainParcelle != null) { Localisation newLocalisation = new Localisation(); newLocalisation.setAdresse(selectedParcelle.getAdresse()); newLocalisation.setCoordonneeX(selectedParcelle.getCoordonneeX()); newLocalisation.setCoordonneeY(selectedParcelle.getCoordonneeY()); newLocalisation.setLieuDit(selectedParcelle.getLieuDit()); newLocalisation.setNoDetache(selectedParcelle.getNoDetache()); newLocalisation.setNoParcelle(selectedParcelle.getNoParcelle()); newLocalisation.setNoSecteur(selectedParcelle.getNoSecteur()); newLocalisation.setProvenanceCoordonnees(selectedParcelle.getProvenanceCoordonnees()); newLocalisation.setSurfaceParcelle(selectedParcelle.getSurfaceParcelle()); newLocalisation = remoteParcelleDao.save(newLocalisation); mainParcelle.getParcellesDetachees().add(newLocalisation); remoteParcelleDao.update(mainParcelle); List<LocalisationBean> beans = this.rowSelectControllerLocalisation.getLocalisationInventory(); beans.add(new LocalisationBean(newLocalisation)); this.rowSelectControllerLocalisation.setLocalisationInventory(beans); this.selectedParcelle = mainParcelle; } }
pour tenter de récupérer les données lors de l ouverture de la page (je cherche à récupérer les données de l'élément séléctionner avant l'ouverture)
Cependant le formulaire (this.selectedParcelle) contient toujours les données que l'utilisateur vient de rentrer
Voici le code JSF correspondant
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 <ice:panelTab label="Localisation"> <ice:panelGrid columns="3"> <ice:outputText value="Lieu dit"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.lieuDit}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="Coordonnee x"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.coordonneeX}" id="coordonneeX"> <f:validateLongRange maximum="600000" minimum="530000"/> </ice:inputText> <ice:message style="color: red;" id="coordonneeXError" for="coordonneeX" /> <ice:outputText value="Coordonnee y"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.coordonneeY}" id="coordonneeY"> <f:validateLongRange maximum="210000" minimum="140000"/> </ice:inputText> <ice:message style="color: red;" id="coordonneeYError" for="coordonneeY"/> <ice:outputText value="Provenance coordonnees"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.provenanceCoordonnees}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="No secteur"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.noSecteur}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="No parcelle"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.noParcelle}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="No detache"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.noDetache}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="Surface parcelle"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.surfaceParcelle}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="Rue"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.adresse.rue}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="No de rue"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.adresse.noDeRue}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="No postal"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.adresse.npa}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="Localite"></ice:outputText> <ice:inputText value="#{sessionBean.selectedParcelle.adresse.localite}"></ice:inputText> <ice:outputText value=""></ice:outputText> <ice:outputText value="Parcelle liees"></ice:outputText> <ice:dataTable id="localisation" var="localisation" value="#{rowSelectControllerLocalisation.localisationInventory}" rows="20" border="2"> <ice:column> <f:facet name="header"> <ice:outputText value="Id de la localisation" /> </f:facet> <ice:rowSelector value="#{localisation.selected}" selectionListener="#{rowSelectControllerLocalisation.rowSelectionListener}" /> <ice:outputText value="#{localisation.localisation.id}" /> </ice:column> <ice:column> <f:facet name="header"> <ice:outputText value="Lieu dit" /> </f:facet> <ice:outputText value="#{localisation.localisation.lieuDit}" /> </ice:column> <ice:column> <f:facet name="header"> <ice:outputText value="Coordonee X" /> </f:facet> <ice:outputText value="#{localisation.localisation.coordonneeX}" /> </ice:column> <ice:column> <f:facet name="header"> <ice:outputText value="Coordonee Y" /> </f:facet> <ice:outputText value="#{localisation.localisation.coordonneeY}" /> </ice:column> </ice:dataTable> <ice:commandButton id="buttonAddLocalisation" value="Ajouter une parcelle liee" actionListener="#{sessionBean.addLinkedLocalisation}" /> <ice:outputLabel for=""> </ice:outputLabel> <ice:outputLabel for=""> </ice:outputLabel> <ice:outputLabel for=""> </ice:outputLabel> <ice:outputLabel for=""> </ice:outputLabel> </ice:panelGrid> </ice:panelTab>
Partager