Bonjour à tous,
je vous expose mon problème, je développe un site internet en J2EE. J'en suis pour l'instant aux fonctions de base : création d'un objet et affichage des objets crées dans une jsp.
Je vous décris plus en détails mes étapes qui aboutissent au problème :
-je travaille dans une façade en @Local
-je lance ma servlet objets.Ajout.java, cette servlet contient :
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
facade.createObjet("objet1", 10);
facade.createObjet("objet2", 15);
}
et dans façade j'ai :
public void createObjet(String name, float prix) {
// TODO Auto-generated method stub
Objets ob = new Objets(name, prix);
em.persist(ob);
}
- ensuite, je lance la servlet objets.List.java qui contient :
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
ArrayList<Objets> al = facade.listObjet();
request.setAttribute("listeObjet", al);
RequestDispatcher disp = request.getRequestDispatcher("/objets.jsp");
disp.forward(request, response);
}
et la facade contient :
public ArrayList<Objets> listObjet() {
// TODO Auto-generated method stub
Query q = em.createQuery("select a from objet.Objets as a");
List<Objets> l = (List<Objets>) q.getResultList();
return new ArrayList<Objets>(l);
}
- cette servlet forward vers objets.jsp :
<table>
<tr>
<th>Nom</th>
<th>Prix</th>
</tr>
</tr>
<br> <%
Object ret = request.getAttribute("listeObjet");
ArrayList<Objets> al = (ArrayList<Objets>) ret;
out.println(al);
for (int i = 0; i < al.size(); i++) {
Objets ob = al.get(i);
out.println("<tr><td>" + ob.getNom() + "</td><td>"
+ ob.getPrix() + "</td></tr>");
}
%>
</table>
j'obtiens finalement cette erreur :
org.apache.jasper.JasperException: An exception occurred processing JSP page /objets.jsp at line 48
45: out.println(al);
46: for (int i = 0; i < al.size(); i++) {
47:
48: Objets ob = al.get(i);
49: out.println("<tr><td>" + ob.getNom() + "</td><td>"
50: + ob.getPrix() + "</td></tr>");
51: }
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:498)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:411)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
objets.List.doPost(List.java:55)
objets.List.doGet(List.java:41)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
cause m�re
java.lang.ClassCastException: objet.Objets cannot be cast to objet.Objets
org.apache.jsp.objets_jsp._jspService(objets_jsp.java:105)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:322)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:249)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
objets.List.doPost(List.java:55)
objets.List.doGet(List.java:41)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
- Quand je fais juste un out.println(al) cela fonctionne j'obtiens bien ma page avec mes 2 objets =>
[objet.Objets@125ff6c6, objet.Objets@5a424a96]
- mais à partir du moment ou je fais un Objets ob = al.get(i); j'ai l'erreur du dessus.
Je ne vois pas d'où peut provenir l'erreur...
Merci d'avance pour vos réponses

 

 
		
		 
        

 
			
			
 
   


 Problème de CAST au niveau d'une JSP
 Problème de CAST au niveau d'une JSP
				 Répondre avec citation
  Répondre avec citation
Partager