je me casse la tête avec une erreur ke Tomcat 5.0.28 me génère, je developpe sous MyEclipse, bon voilà l pb:
j'ai une page JSP dans lakelle il ya un lien qui m'affiche tous les éléments d'une table dans ma base de données, et en plus d'un lien de recherche par un attribut autre que l'identifiant même de la table; le code de la JSP est:
aussi l'action struts relative à cette page est définie dans le fichier struts-config.xml comme suit:
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 <body> <div id="body_wrapper"> <div id="body"> <div id="all"> <div class="top"></div> <div class="content"> <html:link action="viewSites.do?do=showSites">Afficher tous les Sites:</html:link> <html:form action="viewSites.do?do=showSitesById" method="GET"> <table border="0" align="center" width="50%" height="50%"> <tr> <td>Rechercher par Site: <td/> <td><html:text property="id_site_los" size="8" value=""/><html:errors property="id_site_los"/><br/><td/> <tr/> <tr> <td colspan="1"> <html:submit>GO</html:submit> </td> </tr> </table> </html:form> </body>
dans mon package com.monpfe.struts.action
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <action attribute="siteLosResultatForm" name="siteLosResultatForm" parameter="do" path="/viewSites" input="/form/siteEdit.jsp" scope="request" type="com.monpfe.struts.action.SitesListAction" > <forward name="showList" path="/form/sitesList.jsp" /> <forward name="showListAfterDelete" path="/viewSites.do?do=showSites" /> <forward name="showListAfterDeleteId" path="/viewSites.do?do=showSitesById" /> </action>
j'ai défini la classe SitesListAction comme suit:
dans le package ...struts.form
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 package com.monpfe.struts.action; import java.util.Collection; 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 com.monpfe.metier.SiteLosResultat; import com.monpfe.struts.form.SiteLosResultatForm; public class SitesListAction extends DispatchAction { public ActionForward showSites( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form; SiteLosResultat site=new SiteLosResultat(); Collection c; try { c = (Collection) site.Lister(); siteLosResultatForm.setSites(c); }catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return mapping.findForward("showList"); } public ActionForward deleteSite( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form; Long Id =Long.parseLong(request.getParameter("Id")); SiteLosResultat site=new SiteLosResultat(); site.deleteById(Id); return mapping.findForward("showListAfterDelete"); } public ActionForward showSitesById( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form; String id_site_los =request.getParameter("id_site_los"); //Long Id =Long.parseLong(request.getParameter("Id")); SiteLosResultat site=new SiteLosResultat(); Collection c; try{ c=(Collection) site.findByIdLos(id_site_los); siteLosResultatForm.setSites(c); }catch(Exception e){ e.printStackTrace(); } return mapping.findForward("showList"); } }
j'ai défini la classe SiteLosResultatForm comme suit:
dans mon package com.monpfe.metier
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 package com.monpfe.struts.form; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import com.monpfe.persistance.SiteLosResultatBean; import java.util.Date; public class SiteLosResultatForm extends ActionForm{ /** * */ private static final long serialVersionUID = 1L; private SiteLosResultatBean siteLosResultatBean=new SiteLosResultatBean(); private Collection sites; public void setSites(Collection c){ sites=c; } public Collection getSites(){ return sites; } public SiteLosResultatBean getSiteLosResultatBean(){ return siteLosResultatBean; } public void setSiteLosResultatBean(SiteLosResultatBean siteLosResultatBean){ this.siteLosResultatBean=siteLosResultatBean; } public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){ return null; } public void reset(ActionMapping mapping,HttpServletRequest request){ } public boolean equals(Object arg0){ return siteLosResultatBean.equals(arg0); } public int getId(){ return siteLosResultatBean.getId(); } public void setId(int Id){ siteLosResultatBean.setId(Id); } public String getId_Site_Los(){ return siteLosResultatBean.getId_Site_Los(); } public void setId_Site_Los(String id_site_los){ siteLosResultatBean.setId_Site_Los(id_site_los); } public String getCandidatLos(){ return siteLosResultatBean.getCandidat_Los(); } public void setCandidat_Los(String candidat_los){ siteLosResultatBean.setCandidat_Los(candidat_los); } public String getLongitude_Los(){ return siteLosResultatBean.getLongitude_Los(); } public void setLongitude_Los(String longitude_los){ siteLosResultatBean.setLongitude_Los(longitude_los); } public String getLatitude_Los(){ return siteLosResultatBean.getLatitude_Los(); } public void setLatitude_Los(String latitude_los){ siteLosResultatBean.setLatitude_Los(latitude_los); } public String getAdresseLos(){ return siteLosResultatBean.getAdresse_Los(); } public void setAdresse_Los(String adresse_los){ siteLosResultatBean.setAdresse_Los(adresse_los); } public int getH_Los(){ return siteLosResultatBean.getH_Los(); } public void setH_Los(int h_los){ siteLosResultatBean.setH_Los(h_los); } public Date getDate_Saisie(){ return siteLosResultatBean.getDate_Saisie(); } public void setDate_Saisie(Date date_sasie){ siteLosResultatBean.setDate_Saisie(date_sasie); } public String toString(){ return siteLosResultatBean.toString(); } }
j'ai défini la classe SiteLosResultat comme suit:
en fin dans le package com.monpfe.persistance j'ai défini la classe SiteLosResultatBean où il y a le bean:
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
115
116
117
118
119
120
121
122
123
124
125
126
127 package com.monpfe.metier; import java.sql.*; import java.util.*; import com.monpfe.persistance.AgentBean; import com.monpfe.persistance.SiteLosResultatBean; import com.monpfe.SQL.Sql; public class SiteLosResultat { public ArrayList Lister(){ ArrayList liste=null; Sql sql=new Sql(); String message="select * from site_los_resultat"; ResultSet rst= sql.list(message); liste = new ArrayList(); SiteLosResultatBean ligne =null; try{ while(rst.next()) { ligne=new SiteLosResultatBean(); ligne.setId(rst.getInt("Id")); ligne.setId_Site_Los(rst.getString("id_site_los")); ligne.setCandidat_Los(rst.getString("candidat_los")); ligne.setLongitude_Los(rst.getString("longitude_los")); ligne.setLatitude_Los(rst.getString("latitude_los")); ligne.setAdresse_Los(rst.getString("adresse_los")); ligne.setH_Los(rst.getInt("h_los")); ligne.setComment_Los(rst.getString("comment_los")); ligne.setState_Acquisition(rst.getString("state_acquisition")); ligne.setDate_Saisie(rst.getDate("date_saisie")); liste.add(ligne); }} catch(SQLException e){ System.out.println("erreur rst.next : "+e.getMessage()); } sql.fermerConnection(); return liste; } public void inserer(SiteLosResultatBean s){ Sql sql=new Sql(); String message="insert into site_los_resultat values ("+s.getId()+",'"+s.getId_Site_Los()+"','"+s.getCandidat_Los()+"','"+s.getLongitude_Los()+"','"+s.getLatitude_Los()+"','"+s.getAdresse_Los()+"',"+s.getH_Los()+",'"+s.getComment_Los()+"','"+s.getState_Acquisition()+"','"+s.getDate_Saisie()+"');"; try { sql.inserer(message); }catch(SQLException e){ e.printStackTrace(); } sql.fermerConnection(); } public SiteLosResultatBean findByIdLos(String id_site_los) { Sql sql=new Sql(); ArrayList liste=null; String message="select * from site_los_resultat where id_site_los= '" + id_site_los+"'"; ResultSet rst=sql.list(message); liste = new ArrayList(); SiteLosResultatBean ligne=null; try{ while(rst.next()) { ligne=new SiteLosResultatBean(); ligne.setId(rst.getInt("Id")); ligne.setId_Site_Los(rst.getString("id_site_los")); ligne.setCandidat_Los(rst.getString("candidat_los")); ligne.setLongitude_Los(rst.getString("longitude_los")); ligne.setLatitude_Los(rst.getString("latitude_los")); ligne.setAdresse_Los(rst.getString("adresse_los")); ligne.setH_Los(rst.getInt("h_los")); ligne.setComment_Los(rst.getString("comment_los")); ligne.setState_Acquisition(rst.getString("state_acquisition")); ligne.setDate_Saisie(rst.getDate("date_saisie")); liste.add(ligne); } }catch(SQLException e){ System.out.println("erreur rst.next : "+e.getMessage()); } sql.fermerConnection(); return ligne; } public SiteLosResultatBean findById(Long Id) { Sql sql=new Sql(); String message="select * from site_los_resultat where Id= " + Id; ResultSet rst=sql.list(message); SiteLosResultatBean ligne=null; try{ while(rst.next()) { ligne=new SiteLosResultatBean(); ligne.setId(rst.getInt("Id")); ligne.setId_Site_Los(rst.getString("id_site_los")); ligne.setCandidat_Los(rst.getString("candidat_los")); ligne.setLongitude_Los(rst.getString("longitude_los")); ligne.setLatitude_Los(rst.getString("latitude_los")); ligne.setAdresse_Los(rst.getString("adresse_los")); ligne.setH_Los(rst.getInt("h_los")); ligne.setComment_Los(rst.getString("comment_los")); ligne.setState_Acquisition(rst.getString("state_acquisition")); ligne.setDate_Saisie(rst.getDate("date_saisie")); } }catch(SQLException e){ System.out.println("erreur rst.next : "+e.getMessage()); } sql.fermerConnection(); return ligne; } public void deleteById(Long Id) { Sql sql=new Sql(); String message="delete from site_los_resultat where Id = "+Id; try { sql.supprimer(message); }catch (SQLException e){ e.printStackTrace(); } sql.fermerConnection(); } public void update(SiteLosResultatBean s){ Sql sql=new Sql(); String message="update site_los_resultat set id_site_los= "+s.getId_Site_Los()+",candidat_los= "+s.getCandidat_Los()+",longitude_los= "+s.getLongitude_Los()+",latitude_los= "+s.getLatitude_Los()+",adresse_los= "+s.getAdresse_Los()+",h_los= "+s.getH_Los()+",comment_los= "+s.getComment_Los()+",state_acquisition= "+s.getState_Acquisition()+",date_saisie= "+s.getDate_Saisie()+";"; try{ sql.modifier(message); } catch(SQLException e){ e.printStackTrace(); } sql.fermerConnection(); } }
quand je fais appel à la page dans Tomcat j'ai l'erreur suivante quand je clik sur le lien :Afficher tous les sites:
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 package com.monpfe.persistance; import java.util.Date; public class SiteLosResultatBean implements java.io.Serializable{ /** * */ private static final long serialVersionUID = 1L; private int Id; private String id_site_los; private String candidat_los; private String longitude_los; private String latitude_los; private String adresse_los; private int h_los; private String comment_los; private String state_acquisition; private Date date_saisie=new Date(); public SiteLosResultatBean(int Id,String id_site_los,String candidat_los, String longitude_los,String latitude_los,String adresse_los, int h_los,String comment_los,String state_acquisition,Date date_saisie) { super(); this.Id=Id; this.id_site_los=id_site_los; this.candidat_los=candidat_los; this.longitude_los=longitude_los; this.latitude_los=latitude_los; this.adresse_los=adresse_los; this.h_los=h_los; this.comment_los=comment_los; this.state_acquisition=state_acquisition; this.date_saisie=date_saisie; } public SiteLosResultatBean(){ super(); } public int getId(){ return Id; } public void setId(int Id){ this.Id=Id; } public String getId_Site_Los(){ return id_site_los; } public String getCandidat_Los(){ return candidat_los; } public String getLongitude_Los(){ return longitude_los; } public String getLatitude_Los(){ return latitude_los; } public String getAdresse_Los(){ return adresse_los; } public int getH_Los(){ return h_los; } public Date getDate_Saisie(){ return date_saisie; } public String getComment_Los(){ return comment_los; } public String getState_Acquisition(){ return state_acquisition; } public void setId_Site_Los(String id_site_los){ this.id_site_los=id_site_los; } public void setCandidat_Los(String candidat_los){ this.candidat_los=candidat_los; } public void setLongitude_Los(String longitude_los){ this.longitude_los=longitude_los; } public void setLatitude_Los(String latitude_los){ this.latitude_los=latitude_los; } public void setAdresse_Los(String adresse_los){ this.adresse_los=adresse_los; } public void setH_Los(int h_los){ this.h_los=h_los; } public void setDate_Saisie(Date date_saisie){ this.date_saisie=date_saisie; } public void setComment_Los(String comment_los){ this.comment_los=comment_los; } public void setState_Acquisition(String state_acquisition){ this.state_acquisition=state_acquisition; } }
javax.servlet.ServletException: No getter method for property id_site_los of bean site
et quand j'entre un id_site_los par exemple "CAS0012" qui figure dans ma base de donnée dans la table site_los_resultat:
j'ai l'erreur suivante:
type Rapport d'état
message Request[/viewSites] does not contain handler parameter named do
description La requête envoyée par le client était syntaxiquement incorrecte (Request[/viewSites] does not contain handler parameter named do).
HELP PLEASE! je me suis cassé la tête assez longtemps!
NB: je travaille avec Eclipse 3.2 et MyEclipse 5.1 aussi TOMCAT 5.0.28, en fin MySql Server.
merci infiniment pour l'aide si possible!
Partager