Bonjour,
J'ai un problème avec les tag nested.
Voici le code de ma JSP :
Voici le code de mon ActionFrom :
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 <html:form action="/store_scores"> <table border="1"> <nested:nest property="division"> <nested:iterate property="matchs"> <tr> <td><nested:write property="j1"/></td> <td><nested:write property="j2"/></td> <td>Vs</td> <td><nested:write property="j3"/></td> <td><nested:write property="j4"/></td> <td><nested:text property="sc1" size="3" maxlength="1"/></td> <td><nested:text property="sc2" size="3" maxlength="1"/></td> </tr> </nested:iterate> </nested:nest> <tr> <td colspan="7" align="center"><html:submit value="Envoyer" /></td> </tr> </table> </html:form>
Voici la partie du code de mon action qui créée l'ActionForm contenant mes données :
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 public class UpdateScoresForm extends ActionForm { private Division division = null; public Division getDivision() { return division; } public void setDivision(Division inDivision) { this.division = inDivision; } public ArrayList getMatchs() { return division.getMatchs(); } public void setMatchs(ArrayList inMatchs) { this.division.setMatchs(inMatchs); } }
Voici le code de la classe division :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ArrayList l3 = this.getMatchs(ds, divid, listOfPlayers); Division d = new Division(divName, null); d.setMatchs(l3); f2.setDivision(d); request.getSession().setAttribute("form", f2); return mapping.findForward("suite");
Voici le code de la classe Match :
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 public class Division implements Serializable { private long id; private String name; private List players; private ArrayList matchs; public Division(String name, List players) { super(); this.name = name; this.players = players; this.matchs = new ArrayList(); } public ArrayList getMatchs() { return this.matchs; } public void setMatchs(ArrayList inMatchs) { this.matchs = inMatchs; } public String getName() { return this.name; } public void setName(String inName) { this.name = inName; } public List getPlayers() { return this.players; } public void setPlayers(List inPlayers) { this.players = inPlayers; } public long getId() { return id; } public void setId(long id) { this.id = id; } }
Lorsque j'exécute ma page, je reçois l'erreur suivante :
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 public class Match implements Serializable { private String j1; private String j2; private String j3; private String j4; private int sc1; private int sc2; public Match(String j1, String j2, String j3, String j4) { super(); this.j1 = j1; this.j2 = j2; this.j3 = j3; this.j4 = j4; this.sc1 = 0; this.sc2 = 0; } public final String getJ1() { return this.j1; } public final void setJ1(String inJ1) { this.j1 = inJ1; } public final String getJ2() { return this.j2; } public final void setJ2(String inJ2) { this.j2 = inJ2; } public final String getJ3() { return this.j3; } public final void setJ3(String inJ3) { this.j3 = inJ3; } public final String getJ4() { return this.j4; } public final void setJ4(String inJ4) { this.j4 = inJ4; } public final int getSc1() { return this.sc1; } public final void setSc1(int inSc1) { this.sc1 = inSc1; } public final int getSc2() { return this.sc2; } public final void setSc2(int inSc2) { this.sc2 = inSc2; } }
Or lorsque je n'utilise que des <c:forEach> pour afficher mes information alors je n'ai aucune erreur. J'en conclu que mon form contient bien un objet Division et que cet objet contient bien plusieurs matchs. Mais pourquoi alors les tags nested ne trouve pas d'accès à mes matchs ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part javax.servlet.ServletException: Invalid argument looking up property division.matchs of bean frmStoreScores
Merci pour vos réponses.
Lionelh
Partager