将arraylist从servlet发送到jsp时显示错误

时间:2015-03-21 15:04:56

标签: java jsp servlets arraylist casting

我想将一个ArrayList对象从servlet页面发送到jsp页面。但是在jsp页面中显示错误。

在我的servlet代码下面

的Servlet

ArrayList<Customer> al = new ArrayList<Customer>();
al = abs.viewCustomerReqRequest();
//Return type of viewCustomerReqRequest() method is ArrayList<Customer>

request.setAttribute("Customer_AL",al);
RequestDispatcher rd = request.getRequestDispatcher("a_reg_request.jsp");
rd.forward(request, response);

在我的jsp页面代码下面

JSP

<%
  ArrayList<Customer> al = new ArrayList<Customer>();
  al = (ArrayList<Customer>) request.getAttribute("Customer_AL");
  Iterator<Customer> it = al.iterator();
%>

但是在我的jsp页面中,显示的错误如“类型安全:未经检查从对象投射到ArrayList<Customer> ”。

如何从jsp页面中删除此错误?

1 个答案:

答案 0 :(得分:0)

ServletRequest.setAttribute()的第二个参数是Object类型。

List作为Object参数传递后,它将失去编译时输入。警告告诉你这件事。但这是一个警告,而不是错误。

如果要取消警告,可以使用

@SuppressWarnings("unchecked")
al = (ArrayList<Customer>) request.getAttribute("Customer_AL");