2017-02-20 142 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; 
} 

}

的Servlet:

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> 

在Servlet使用的UserDAO的类提供通过票务对象形成的ArrayList。有了这个代码,表格里面什么都没有显示......我已经尝试了不同的技术来访问和显示数据,但无法完成。

+0

是否检查ticketlist是不是空的? – mlg

回答

0

而不是

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

尝试

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

我之前尝试过...这是在将代码添加到会话中的代码中的错误。 –

+0

您可以尝试将一些alert/sysout只是为了调试它,并确保该块正在执行。你也可以在Tomcat下查找为这个jsp创建的java文件 - work - Catalina-- localhost-- projectname-- org-- apache-- jsp - Your.jsp和Your.java – Maverick

+0

我把Alert该foreach并没有被执行......但不知道为什么。当我进入tomcat来查看它的jsp是否与forEach ... –