Bonjour,
J'essaye d'utiliser les datagrids de struts et j'ai une erreur dans ma page :
Je me permet de soumettre mes classes, ma page JSP et un bout de mon struts-config.xml :javax.servlet.ServletException: No getter method available for property DevisDataGridForm_fg for bean under name org.apache.struts.taglib.html.BEAN
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:463)
at org.apache.jsp.Commun.DevisAdh_0005ffg$jsp._jspService(DevisAdh_0005ffg$jsp.java:396)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
...
...
struts-config.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 ... <form-beans> <form-bean name="DevisDataGridForm_fg" type="com.ex.struts.form.DevisDataGridForm_fg"/> ... </form-beans> ... ... <action path="/Devis" name="DevisDataGridForm_fg" type="package com.exc.struts.form.DevisDataGridData" validate="false" parameter="reqCode" scope="session" input="/Devis.jsp" > <forward name="jsp" path="/Commun/DevisAdh_fg.jsp" /> </action> ... ... </action-mapping>
DevisAdh_fg.jsp
DevisDataGridForm_fg.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 <layout:html> <layout:form action="/Devis" reqCode="display"> <layout:row> <layout:datagrid model="datagrid" property="DevisDataGridForm_fg" multipleSelectionAllowed="false" selectionAllowed="false"> <layout:datagridColumn title="jour" property="numJour"/> <layout:datagridColumn title="mois" property="numMois" /> <layout:datagridColumn title="annee" property="numAnnee"/> </layout:datagrid> <layout:column> <layout:submit reqCode="calcul">Soumettre</layout:submit> </layout:column> </layout:row> </layout:form> </layout:html>
DevisDataGridData.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 package com.exc.struts.form; import org.apache.struts.action.ActionForm; import fr.improve.struts.taglib.layout.datagrid.Datagrid; public class DevisDataGridForm_fg extends ActionForm { private Datagrid datagrid; public void setDatagrid(Datagrid datagrid) { this.datagrid = datagrid; } public Datagrid getDatagrid() { return datagrid; } }
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 package com.exc.struts.form; import com.exc.struts.beans.DevisBean; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; import fr.improve.struts.taglib.layout.datagrid.Datagrid; import java.util.List; import java.util.Vector; public class DevisDataGridData extends DispatchAction { private List getList() { Vector lst = new Vector(4); lst.add(new DevisBean(2,10,1990,new char[] {'R','L'})); lst.add(new DevisBean(7,9,1991,new char[] {'R','G'})); return lst; } public ActionForward display ( ActionMapping in_mapping , ActionForm in_form , HttpServletRequest in_request , HttpServletResponse in_reponse) { // Récupére le datagrid de DevisDataGridForm_fg DevisDataGridForm_fg dataGridForm = (DevisDataGridForm_fg) in_form; // Création d'une Datagrid : Datagrid datagrid = Datagrid.getInstance(); // Définie le type de classe qui identifie les données : datagrid.setDataClass(DevisBean.class); // Lie les données : datagrid.setData( this.getList() ); // Initialise le form : dataGridForm.setDatagrid(datagrid); // return in_mapping.findForward("jsp"); } }
DevisBean.java
D'avance merci pour 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
42
43
44
45
46
47
48
49
50 package com.exc.struts.beans; public class DevisBean { int numJour; int numMois; int numAnnee; char[] codeRegime = new char[2]; public DevisBean(int numJour,int numMois,int numAnnee,char[] codeRegime) { setNumJour(numJour); setNumMois(numMois); setNumAnnee(numAnnee); setCodeRegime(codeRegime); } public void setNumJour(int numJour) { this.numJour = numJour; } public int getNumJour() { return numJour; } public void setNumMois(int numMois) { this.numMois = numMois; } public int getNumMois() { return numMois; } public void setNumAnnee(int numAnnee) { this.numAnnee = numAnnee; } public int getNumAnnee() { return numAnnee; } public void setCodeRegime(char[] codeRegime) { this.codeRegime = codeRegime; } public char[] setCodeRegime() { return codeRegime; } }
TSalm








Répondre avec citation
Partager