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