Bonjour,
Je travaille actuellement sur un projet Spring sur Eclipse Ganymède,
J'utilise les annotations hibernate.
Avant de vous montrer le code et vous évoquer mon souci, je vous donne les versions de mes différents outils :
Eclipse 3.4.1
Tomcat 6.0
JEE 1.5
Spring 2.5.6
Hibernate 3
et jstl 1.1.
Ca c'est fait ! Pour le reste :
J'envoie à ma jsp une List, que j'essaie d'exploiter dans un c:forEach...
Malheureusement, je ne peux pas accéder aux attributs des objets de cette liste...
Voila les extraits importants de ma jsp :
Les instances d'objet dans ma liste sont de type Collab :
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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %> <%@ page import="java.util.List"%> <%@ page import="com.xxx.beans.Collab"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title></title> <link rel="stylesheet" href="./Styles/style1.css"/> <link rel="stylesheet" href="./Styles/style0.css"/> <script language="javascript" src="./Scripts/Annuaire.js"></script> </head> <body > <table border="0" cellspacing="0" cellpadding="0" > <thead class="fixedHeader"> <tr class="entete" > <th class="gch"></th> <th class="middle">Nom</th> </tr> </thead> <tbody class="scrollContent"> <c:forEach var="collab" items="${Recherche}" varStatus="count"> <tr class="listbox" id="<c:out value='${count.index}'/>"> <td><c:out value="${collab.nom}"/></td> </tr> </c:forEach> </tbody> </table> </html>
Bref, je sais que ma liste n'est pas vide car si je fais dans mon c:forEach <c:out value="${collab}"/>, j'ai l'id de l'instance qui s'affiche bien sur ma page...
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 import java.io.Serializable; import javax.persistence.*; @Entity @Table(name="Collab") public class Collab implements Serializable { private static final long serialVersionUID = 1L; private String nom = ""; @Column(name="NOM") public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } }
mais ici je veux accéder à l'attribut nom
et j'ai droit à :
Désolé pour l'encodage
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 GRAVE: "Servlet.service()" pour la servlet ControllerServlet a g�n�r� une exception org.apache.jasper.JasperException: An exception occurred processing JSP page /Pages/MajCollabFiltre.jsp at line 107 104: <tbody class="scrollContent"> 105: <c:forEach var="collab" items="${Recherche}" varStatus="count"> 106: <tr class="listbox" id="<c:out value='${count.index}'/>"> 107: <td><c:out value="${collab.nom}"/></td> 108: </tr> 109: </c:forEach> 110: </tbody> Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at com.xxx.servlet.ControlServlet.doProcess(ControlServlet.java:137) at com.xxx.servlet.ControlServlet.doPost(ControlServlet.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) 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:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595)
Merci d'avance si quelqu'un a une piste !
Yudge.
Partager