サーブレットから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>");
}
JSPページでビジネスロジックを記述しないでください。 – soorapadman
@soorapadman JSPでビジネスロジックがどのようなビジネスロジックを行っていますか? –
request.getSession()の代わりにsetAttribute( "list"、list); request.setAttribute( "list"、list);を使用します。サーブレットファイル –