Ich habe Probleme mit der Übergabe von Array-Objekt von Servlet zu JSP. Wenn ich versuche, es an JSP zu übergeben, bekomme ich NullPointerException, aber wenn ich dieses Objekt in Servlet drucke, habe ich alle Daten.Übergabe von Arraylist Formular Servlet zu JSP
Servlets:
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
Jetzt, als ich eine Liste der Daten haben, wie nur 1 Zeile Klick auf href angezeigt werden in neuen jsp . Ich habe so etwas, aber wenn ich id ist nicht beiläufig klicken:
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>");
}
Codieren Sie keine Geschäftslogik in JSP-Seiten. – soorapadman
@soorapadman Welche Geschäftslogik hat OP in JSP getan? –
Statt request.getSession(). SetAttribute ("list", list); Verwenden Sie request.setAttribute ("list", list); in Servlet-Datei –