2017-02-20 10 views
0

Ich versuche, ein einfaches Support-Ticket-System zu programmieren. Ich habe den folgenden Code:Zugriff auf ArrayList von JSP Seite

Die Ticket-Klasse:

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; 
} 

}

Servlets:

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); 
} 

Und schließlich die jsp-Datei wurde Ich versuche, um die Daten anzuzeigen von Die Tickets.

<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> 

Die UserDAO Klasse in der Servlet verwendet wird, stellt eine durch ArrayList Ticket Objekte gebildet. Mit diesem Code zeigt die Tabelle nichts in ... Ich habe bereits verschiedene Techniken für den Zugriff und die Anzeige der Daten ausprobiert, aber ich kann es nicht schaffen.

+0

Haben Sie überprüft, dass ticketlist nicht leer ist? – mlg

Antwort

0

Statt

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

versuchen

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

Ich habe es vorher versucht ... Es war ein Fehler im Code Ich füge die Liste zu der Sitzung hinzu. –

+0

Können Sie versuchen, einige Alert/Sysout nur zu debuggen und sicherzustellen, dass der Block ausgeführt wird. Sie können auch nach der Java-Datei suchen, die für diese jsp unter Tomcat erstellt wurde - work - Catalina-- localhost-- projectname-- org-- apache-- jsp - Your.jsp und Your.java – Maverick

+0

Ich habe eine Warnung eingefügt die foreach und wird nicht ausgeführt ... Aber weiß nicht warum. Wenn ich zum Tomcat komme, um seinen jsp anzusehen, ist dort mit forEach ... –

Verwandte Themen