【问题标题】:Accessing ArrayList from JSP page从 JSP 页面访问 ArrayList
【发布时间】:2017-07-10 00:30:49
【问题描述】:

我正在尝试编写一个简单的支持票证系统。我有以下代码:

Ticket 类:

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>

Servlet 中使用的 UserDAO 类提供了一个由 Ticket 对象形成的ArrayList。使用该代码,表格内部什么也没有显示...我已经尝试了不同的技术来访问和显示数据,但无法完成。

【问题讨论】:

  • 你检查过ticketlist不为空吗?

标签: java jsp servlets arraylist jstl


【解决方案1】:

代替

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

试试

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

【讨论】:

  • 我之前尝试过...这是我将列表添加到会话中的代码中的错误。
  • 您能否尝试放置一些警报/sysout 来调试它并确保该块正在执行。也可以在Tomcat下找这个jsp创建的java文件--work--Catalina--localhost--projectname--org--apache--jsp--Your.jsp和Your.java
  • 我在 foreach 中放了一个警报并且没有被执行......但不知道为什么。当我进入tomcat查看它的jsp时,forEach...
  • 这里可以提供JSP吗?
猜你喜欢
  • 1970-01-01
  • 2012-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 2016-02-03
  • 1970-01-01
相关资源
最近更新 更多