【发布时间】:2017-09-15 09:08:51
【问题描述】:
这是我的 servlet 代码。这里,products 是ArrayList<Products> 的一个对象,我将它发送到一个 JSP 文件。 request 是 HttpServletRequest 类型的对象。
request.setAttribute("listOfProducts", products);
request.getRequestDispatcher("UpdateProduct.jsp").forward(request, response);
在我的 JSP 中,我尝试接收这个。
ArrayList<Products> product = request.getAttribute("listOfProducts");
它显示了这个错误
类型不匹配:无法从 Object 转换为 ArrayList
然后我尝试了这个
ArrayList<Products> product = (ArrayList<Products>) request.getAttribute("listOfProducts");
然后我收到了这个警告
在这一行找到多个注释: - 类型安全:从对象到未经检查的强制转换 数组列表 - 类型不匹配:无法从 Object 转换为 数组列表
【问题讨论】:
-
请求是什么样的对象?
-
尝试先实例化
product:ArrayList<Products> product = new ArrayList<Product>();,然后从您的request获取它并使用演员:product = (ArrayList<Product>) request.getAttribute("listOfProducts"); -
@Asew 这没有任何意义。您建议创建对象 ant 然后将其丢弃。它不会解决投射问题。
-
@user1766169 HttpServletRequest 对象是请求
-
请在
ArrayList<Products> product = (ArrayList<Products>) request.getAttribute("listOfProducts")声明之后显示JSP 代码。十多年来,JSP 中的 Java scriptlet 一直没有被认为是好的实践。使用 JSTL 有更好的方法。
标签: java jsp servlets arraylist