Reputation: 57
I'm having trouble finishing a feature of a web app that i'm making.
The following code appearently didn't generate any error,
//This is the trouver ( find ) function, code is related to DAO pattern.
public ArrayList<Ticket> trouver( int id_employe ) throws DAOException {
ArrayList<Ticket> liste = new ArrayList<Ticket>();
Connection connexion = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
Ticket ticket = null;
try {
connexion = daoFactory.getConnection();
preparedStatement = initialisationRequetePreparee( connexion, SQL_SELECT_PAR_EMP, false, id_employe );
resultSet = preparedStatement.executeQuery();
if ( resultSet.next() ) {
ticket = map( resultSet );//map function stores a row's result in a Bean.
liste.add(ticket);
}
} catch ( SQLException e ) {
throw new DAOException( e );
} finally {
fermeturesSilencieuses( resultSet, preparedStatement, connexion );
}
return liste;
}
Through the servlet:
ArrayList<Ticket> lticket = ticketform.recupererTicket(request);
request.setAttribute("lticket", lticket);
this.getServletContext().getRequestDispatcher(VUE).forward(request, response);
Errors start showing up when it comes to the view:
org.apache.jasper.JasperException: An exception occurred processing JSP page /ListeTickets.jsp at line 29
26: </tr>
27: <c:forEach items="${ requestScope.lticket }" var="mapticket">
28: <tr>
29: <c:forEach items="${mapticket}" var="ticket">
30: <td><c:out value="${ ticket.sujet }"/></td>
31: <td><c:out value="${ ticket.description }"/></td>
32: <td><c:out value="${ ticket.priorite }"/></td>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:588)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
Long story short, I have a list of Beans stored in ArrayList, Need two loops to iterate the whole data, but there comes the error.
Upvotes: 1
Views: 69
Reputation: 11579
It should be only one forEach
according to your code:
<c:forEach items="${ lticket }" var="ticket">
<tr>
<td><c:out value="${ ticket.sujet }"/></td>
<td><c:out value="${ ticket.description }"/></td>
<td><c:out value="${ ticket.priorite }"/></td>
</tr>
</c:forEach>
Upvotes: 3