将结果集结果保存在 arraylist 中
Saving resultset results in arraylist
我在完成我正在制作的网络应用程序的功能时遇到问题。
下面的代码似乎没有产生任何错误,
//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;
}
通过servlet:
ArrayList<Ticket> lticket = ticketform.recupererTicket(request);
request.setAttribute("lticket", lticket);
this.getServletContext().getRequestDispatcher(VUE).forward(request, response);
视图开始出现错误:
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)
长话短说,我有一个存储在ArrayList中的Bean列表,需要两个循环来遍历整个数据,但是出现了错误。
根据你的代码应该只有一个forEach
:
<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>
我在完成我正在制作的网络应用程序的功能时遇到问题。
下面的代码似乎没有产生任何错误,
//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;
}
通过servlet:
ArrayList<Ticket> lticket = ticketform.recupererTicket(request);
request.setAttribute("lticket", lticket);
this.getServletContext().getRequestDispatcher(VUE).forward(request, response);
视图开始出现错误:
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)
长话短说,我有一个存储在ArrayList中的Bean列表,需要两个循环来遍历整个数据,但是出现了错误。
根据你的代码应该只有一个forEach
:
<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>