2017-02-20 8 views
0

私は簡単なサポートチケットシステムをコーディングしようとしています。私は、次のコードを持っている:JSPページからArrayListにアクセスする

チケットクラス:

public class Ticket implements Serializable{ 

private static final long serialVersionUID = -4585877638895523067L; 

private int ticketID; 
private int userID; 
private String topic; 
private String desc; 
private String category; 
private int state; 
private String answer; 

public Ticket(int ID, int userID, String topic, String desc, String category, int state, String answer){ 
    this.ticketID = ID; 
    this.userID = userID; 
    this.topic = topic; 
    this.desc = desc; 
    this.category = category; 
    this.state = state; 
    this.answer = answer; 
} 

public int getTicketid() { 
    return ticketID; 
} 

public int getUserid() { 
    return userID; 
} 

public String getTopic() { 
    return topic; 
} 

public String getDesc() { 
    return desc; 
} 

public String getCategory() { 
    return category; 
} 

public int getState() { 
    return state; 
} 

public String getAnswer() { 
    return answer; 
} 

}

サーブレット:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    session = request.getSession(true); 
    String action = request.getParameter("action"); 
    RequestDispatcher dispatcher; 
    if (session.getAttribute("isLoged") == null || session.getAttribute("isLoged").equals(false)) { 
     dispatcher = getServletContext().getRequestDispatcher("/Login"); 
    }else{ 
     du = new DAOUser(); 
     ticketlist = du.getTickets((Integer)session.getAttribute("userid")); 
     session.setAttribute("tickets", ticketlist); 
     dispatcher = getServletContext().getRequestDispatcher("/account.jsp"); 
     if(action!=null){ 

     } 
    } 
    dispatcher.forward(request, response); 
} 

そして最後にJSPファイルは、私はのデータを表示しようとしているましたチケット。サーブレットで使用

<tbody> 
    <c:forEach items="${sessionScope.tickets}" var="ticket"> 
    <tr> 
     <td>${ticket.ticketID}</td> 
     <td>${ticket.topic}</td> 
     <td>${ticket.category}</td> 
     <td>${ticket.status}</td> 
    </tr> 
    </c:forEach> 
</tbody> 

UserDAOクラスは、チケットオブジェクトによって形成されたArrayListを提供します。そのコードでは、テーブルには何も表示されません...私はすでにデータにアクセスして表示するためのさまざまな手法を試しましたが、それを達成することはできません。代わりに

<c:forEach items="${sessionScope.tickets}" var="ticket"> 

+0

を試してみてください – mlg

答えて

0

は、あなたがそのticketlistが空でない場合にチェックしましたか?

<c:forEach items="${tickets}" var="ticket"> 
+0

私は前に試した...私はセッションにリストを追加しているコードの間違いだった。 –

+0

アラート/ sysoutをデバッグしてブロックが実行されていることを確認することができますか?また、このjspのために作成されたJavaファイルをTomcatの下で探すこともできます - 仕事 - Catalina - localhost--プロジェクト名 - org - apache - jsp - Your.jspとYour.java – Maverick

+0

アラートをforeachと実行されていない...しかし、理由を知らない。私は、そのjspを見るために風穴に入ると、それぞれに... –

関連する問題