Bonjour,
Je suis un tuto (ici) et, comme vous pouvez le voir en page 12, à chaque fois que l'on ajoute un développeur, il est gardé en mémoire dans une liste (liste qui n'est d'ailleurs jamais instanciée dans le tuto ... ou alors je ne l'ai pas vue).
Dans mon cas, cette liste de développeurs n'est pas gardée et est donc ré-initialisée à chaque action lister().
Je ne comprends pas bien car j'ai créé l'instanciation de ma liste.
Voici le fichier struts.xml :
voici le fichier DeveloppeurAction.java :
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 <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false"/> <constant name="struts.devMode" value="true"/> <package name="com.developpez.action" namespace="/" extends="struts-default"> <default-action-ref name="saisir_Developpeur"/> <action name="saisir_Developpeur"> <result>/jsp/saisir_Developpeur.jsp</result> </action> <action name="enregistrer_Developpeur" class="com.developpez.action.DeveloppeurAction" method="enregistrer"> <result name="success">/jsp/lister_Developpeur.jsp</result> <result name="input">/jsp/saisir_Developpeur.jsp</result> </action> <action name="lister_Developpeur" class="com.developpez.action.DeveloppeurAction" method="lister"> <result name="success">/jsp/lister_Developpeur.jsp</result> </action> <action name="supprimer_Developpeur" class="com.developpez.action.DeveloppeurAction" method="supprimer"> <result name="success">/jsp/lister_Developpeur.jsp</result> </action> </package> </struts>
voici le bean Developpeur.java :
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114 import java.util.ArrayList; import com.developpez.beans.Developpeur; import com.opensymphony.xwork2.ActionSupport; public class DeveloppeurAction extends ActionSupport { /** * */ private static final long serialVersionUID = 5358846971741236790L; private int identifiant; private String pseudo; private String mail; private String codePostal; private java.util.Date dateInscription; // private ArrayList<Developpeur> listDeveloppeurs = new ArrayList<Developpeur>(); private ArrayList<Developpeur> listDeveloppeurs; public int getIdentifiant() { return identifiant; } public void setIdentifiant(int identifiant) { this.identifiant = identifiant; } public String getPseudo() { return pseudo; } public void setPseudo(String pseudo) { this.pseudo = pseudo; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public String getCodePostal() { return codePostal; } public void setCodePostal(String codePostal) { this.codePostal = codePostal; } public java.util.Date getDateInscription() { return dateInscription; } public void setDateInscription(java.util.Date dateInscription) { this.dateInscription = dateInscription; } public void setListDeveloppeurs(ArrayList<Developpeur> listDeveloppeurs) { if(listDeveloppeurs == null) { listDeveloppeurs = new ArrayList<Developpeur>(); } this.listDeveloppeurs = listDeveloppeurs; } public ArrayList<Developpeur> getListDeveloppeurs() { if(listDeveloppeurs == null) { listDeveloppeurs = new ArrayList<Developpeur>(); } return listDeveloppeurs; } public String enregistrer() { System.out.println("dans la méthode enregistrer()......"); if(listDeveloppeurs == null) { listDeveloppeurs = new ArrayList<Developpeur>(); } for (int i =0; i < listDeveloppeurs.size(); i++){ System.out.println("PSEUDO : " + listDeveloppeurs.get(i).getPseudo()); } Developpeur developpeur = new Developpeur(); developpeur.setIdentifiant(identifiant); developpeur.setPseudo(pseudo); developpeur.setMail(mail); developpeur.setCodePostal(codePostal); developpeur.setDateInscription(dateInscription); listDeveloppeurs.add(developpeur); if (this.pseudo.equals("")) { return "input"; } return "success"; } public String lister() { System.out.println("dans la méthode lister()....."); return "success"; } public String supprimer() { System.out.println("dans la méthode supprimer()....."); if(listDeveloppeurs == null) { listDeveloppeurs = new ArrayList<Developpeur>(); } listDeveloppeurs.removeAll(getListDeveloppeurs()); return "success"; } }
et le fichier lister_Developpeur.jsp :
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 public class Developpeur { private int identifiant; private String pseudo; private String mail; private String codePostal; private java.util.Date dateInscription; public int getIdentifiant() { return identifiant; } public void setIdentifiant(int identifiant) { this.identifiant = identifiant; } public String getPseudo() { return pseudo; } public void setPseudo(String pseudo) { this.pseudo = pseudo; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public String getCodePostal() { return codePostal; } public void setCodePostal(String codePostal) { this.codePostal = codePostal; } public java.util.Date getDateInscription() { return dateInscription; } public void setDateInscription(java.util.Date dateInscription) { this.dateInscription = dateInscription; } }
voici mon fichier saisir_Developpeur.jsp :
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 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Lister les developpeurs</title> </head> <body> <center> <div> <center> <h2>Liste des développeurs sur developpez.com</h2> </center> <s:if test="%{listDeveloppeurs.size()>0}"> <s:iterator value="listDeveloppeurs"> <br /> Identifiant : <s:property value="identifiant" /> <br /> Pseudo : <s:property value="pseudo" /> <br /> Mail : <s:property value="mail" /> <br /> Code postale : <s:property value="codePostal" /> <br /> Date d'inscription : <s:property value="dateInscription" /> <br /> </s:iterator> </s:if> <s:else> Aucun développeur dans la liste </s:else> </div> <p></p> <a href="saisir_Developpeur.action">Ajouter un développeur</a><br /> <a href="supprimer_Developpeur.action">Supprimer les développeurs</a> </center> </body> </html>
Je vous remercie par avance de bien vouloir m'apporter votre aide !
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 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Saisir un développeur</title> </head> <body> <center><h2>Bienvnue sur le site developpez.com</h2> <div id="formulaire"> <s:form method ="post" action="enregistrer_Developpeur"> <s:textfield name="identifiant" id="identifiant" label="Identifiant" labelposition="left"> </s:textfield> <s:textfield name="pseudo" id="pseudo" label="Pseudo" labelposition="left"> </s:textfield> <s:textfield name="mail" id="mail" label="Email" labelposition="left"> </s:textfield> <s:textfield name="codePostal" id="codePostal" label="Code Postale" labelposition="left"> </s:textfield> <s:textfield name="dateInscription" id="dateInceription" label="Date Inscription" labelposition="left"> </s:textfield> <s:submit value = "Envoyer"></s:submit> </s:form> </div> </center> </body> </html>
![]()
Partager