我在我的 JSP 上创建了一个ArrayList
基于ProductData
类,这个列表表示为一个购物车。
ArrayList<ProductData> cartList = new ArrayList<ProductData>();
ProductData data = new ProductData(productId, productName, productPrice, productAmmount);
cartList.add(data);
之后,我将我的存储ArrayList
到 JSP ,因为当我离开此页面时我session
不希望我的丢失。ArrayList
session.setAttribute("cartList", cartList);
在另一部分,我得到session
并将其转换为ArrayList
of ProductData
(我检查会话是否为空或不确定)
ArrayList<ProductData> cartList = session.getAttribute("cartList") == null ? new ArrayList<ProductData>() : (ArrayList<ProductData>)session.getAttribute("cartList");
它在第一次运行时运行良好。但是,每次我更改页面上的代码(并且我没有修改我的类声明)时,servlet 都会抛出一个错误:java.lang.ClassCastException: org.apache.jsp.MCPatisserie.cart_jsp$1ProductData
class
我的问题是:这是在 java servlet 页面上实现的好方法吗?这个错误是由于重新编译 servlet 页面和session
对象不再与我的匹配而引起的ArrayList
吗?提前致谢。:)