Bonjour,
j’espère que vous pourriez m'aider, mon problème est dans la classe ModifierAction quand je cherche dans ma base de donnée le nom de serveur saisi et je le fait un cast à type Serveur ça ne marche pas est ce que quelq'un connais une solution merci d'avance
et voici mon erreur
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 public class ModifservAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { ModifservForm modifservForm = (ModifservForm) form;// TODO Auto-generated method stub String map="Echec"; ServeurDAO daos = new ServeurDAO() ; Serveur serv = new Serveur(); String nom= modifservForm.getNom_serv(); System.out.println("nom serv :"+nom); /*daos.findByNomServ() retourne une liste * c'est une methode genreré automatiquement par DAO */ serv= (Serveur) daos.findByNomServ(nom); if (serv != null) { serv.setIpServ(modifservForm.getIp_serv()); serv.setPortServ(modifservForm.getPort_serv()); serv.setType(modifservForm.getType()); serv.setDescription(modifservForm.getDesc()); daos.updateByname(serv, nom); map="Succes";} return mapping.findForward(map); } }
et voici la méthode findByNomserv()
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 GRAVE: "Servlet.service()" pour la servlet action a généré une exception java.lang.ClassCastException: java.util.ArrayList cannot be cast to com.load.hibernate.Serveur at com.load.struts.action.ModifservAction.execute(ModifservAction.java:43) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
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 @SuppressWarnings("unchecked") public List<Serveur> findByProperty(String propertyName, Object value) { log.debug("finding Serveur instance with property: " + propertyName + ", value: " + value); try { String queryString = "from Serveur as model where model." + propertyName + "= ?"; Query queryObject = getSession().createQuery(queryString); queryObject.setParameter(0, value); return queryObject.list(); } catch (RuntimeException re) { log.error("find by property name failed", re); throw re; } } public List<Serveur> findByNomServ(Object nomServ) { return findByProperty(NOM_SERV, nomServ); }
Partager