Hello!
J'ai un petit souci que je n'arrive pas à régler depuis un petit temps.
Je veux afficher des éléments grâce à un bean mais lorsque mon validate détecte une erreur (avec un addFieldError() ), je perds mes données sur ma page.
Pour remplir ma liste, je fais
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 public class PersonBean{ private String nom; private String prenom; private int id; public void setNom(String nom){ this.nom = nom; } public String getNom(){ return nom; } public void setPrenom(String prenom){ this.prenom= prenom; } public String getPrenom(){ return prenom; } public void setId(int id){ this.id = id; } public int getId(){ return id; } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 ArrayList<person> listPerson = getPersonList(); ArrayList<PersonBean> listPersonBean = new ArrayList<PersonBean>(); PersonBean bean = new PersonBean(); for(Person person : listPerson){ bean.setNom(person.getNom()); bean.setPrenom(person.getPrenom()); bean.setId(person.getId()); listPersonBean.add(bean); }Jusque là, tout va bien, tout est bien affiché, je récupère bien tout dans mon submit, mais comme j'ai dit au début, si j'ai une erreur et que je reviens sur la page, je perds ma List, la seule solution que j'ai trouvé jusqu'à présent (qui est vachement mauvaise, c'est de reremplir la liste dans mon validate() :/).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <s:iterator value="listPersonBean" id="item"> <tr> <td> <s:textfield name="nom"/> </td> <td> <s:textfield name="prenom"/> </td> </tr> </s:iterator>
Quelqu'un pourrait m'expliquer la meilleure solution pour régler ce problème?
Merci d'avance!
Partager