Problème jstl et hibernate
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 :
Code:
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> |
Les instances d'objet dans ma liste sont de type Collab :
Code:
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;
}
} |
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...
mais ici je veux accéder à l'attribut nom
et j'ai droit à :
Code:
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) |
Désolé pour l'encodage :P
Merci d'avance si quelqu'un a une piste !
Yudge.