2017-03-28 7 views
0

サーブレットからjspに配列オブジェクトを渡す際に問題があります。私はそれをJSPに渡そうとするとNullPointerExceptionが発生しますが、サーブレットでそのオブジェクトを印刷するとすべてのデータがあります。arrylist形式のサーブレットをjspに渡す

はサーブレット:

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>"); 
    } 
+0

JSPページでビジネスロジックを記述しないでください。 – soorapadman

+0

@soorapadman JSPでビジネスロジックがどのようなビジネスロジックを行っていますか? –

+0

request.getSession()の代わりにsetAttribute( "list"、list); request.setAttribute( "list"、list);を使用します。サーブレットファイル –

答えて

0

あなたのlistセッション

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

に追加することなく、あなたの要求から、それを取得しようとしているが

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

あなたに追加してみてくださいrequest

request.setAttribute("list", list); 
+0

それでも動作しませんNullPointerException :( – Egzen

+0

参照http://stackoverflow.com/a/3609046/2310289 –

+0

まだNullPointerException :( – Egzen

関連する問題