1
私が作っているWebアプリケーションの機能を終了するのに問題があります。結果セットをarraylistに保存する
次のコードは、appearentlyサーブレットを介し
//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;
}
、任意のエラーを生成しませんでした:それはビューに来るとき
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のリストがあります。全体を反復するには2つのループが必要ですデータが表示されますが、エラーが発生します。
...あなたにアレックスをありがとうございました。 悲しいことに、それは戻っているが、それは、SQL結果セットを格納する方法だ場合のみ1「チケット」 http://hpics.li/6cc6741 http://hpics.li/b9ffdb5 – TheNorth
あなたは確認してくださいことはできますか? 'try { resultSet = preparedStatement.executeQuery(); if(resultSet.next()){ ticket = map(resultSet); //マップ関数は、行の結果をBeanに格納します。 liste.add(ticket); } } ' – TheNorth
' if'の代わりに 'while(resultSet.next())'を使いたかったと思います。 – Alex