繁体   English   中英

将arraylist表单servlet传递给jsp

[英]Passing arraylist form servlet to jsp

我在将数组对象从servlet传递到jsp时遇到问题。 当我尝试将其传递给jsp时,我得到NullPointerException,但是如果我在servlet中打印该对象,我将拥有所有数据。

Servlet:

ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM APP.CUSTOMER");
        CustomerBean customer = null;
        List<CustomerBean> list = new ArrayList<CustomerBean>();
        while (rs.next()) {
            customer = new CustomerBean();
            customer.setCustomer_id(rs.getInt("CUSTOMER_ID"));
            customer.setName(rs.getString("NAME"));
            customer.setPhone(rs.getString("PHONE"));
            customer.setEmail(rs.getString("EMAIL"));
            customer.setCity(rs.getString("CITY"));
            list.add(customer);
        } 
       request.getSession().setAttribute("list", list);
       RequestDispatcher disp;
       disp = getServletContext( ).getRequestDispatcher("index.jsp");

       disp.forward(request, response);

JSP:

<%  
    // retrieve your list from the request, with casting 
    ArrayList<CustomerBean> list = (ArrayList<CustomerBean>) request.getAttribute("list");

    // print the information about every category of the list
    for(CustomerBean list1 : list) {
        out.println(list1.getCustomer_id());
        out.println(list1.getName());
        out.println(list1.getPhone());
        out.println(list1.getEmail());
        out.println(list1.getCity());
    }
%>

UPDATE

现在,当我有一个数据列表时,如何在新的jsp中单击href仅显示1行。 我有类似的东西,但是当我单击id时不会传递:

 for(CustomerBean list1 : list) {
        out.println("<td>"+list1.getCustomer_id()+"</td>");
        out.println("<td>"+list1.getName()+"</td>");
        out.println("<td>"+list1.getPhone()+"</td>");
        out.println("<td>"+list1.getEmail()+"</td>");
        out.println("<td>"+list1.getCity()+"</td>");
        out.println("<td><a href='details.jsp?customer_id='+list1.getCustomer_id()>details</a></td>");
        out.println("</tr>");
    }

您正在将list添加到会话中

 request.getSession().setAttribute("list", list);

但尝试从您的请求中检索它

ArrayList<CustomerBean> list = (ArrayList<CustomerBean>) request.getAttribute("list");

尝试将其添加到您的request

request.setAttribute("list", list);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM