ArrayListJSPでクラスに基づいて作成しますProductData。このリストは、ショッピングカートとして表されます。
ArrayList<ProductData> cartList = new ArrayList<ProductData>();
ProductData data = new ProductData(productId, productName, productPrice, productAmmount);
cartList.add(data);
その後、ArrayListJSPに保存しています。このページを離れるときに、迷子にsessionならないようにするためです。ArrayList
session.setAttribute("cartList", cartList);
他のセクションでは、を取得してのsessionとして変換し
ます(セッションがnullかどうかを確認します)ArrayListProductData
ArrayList<ProductData> cartList = session.getAttribute("cartList") == null ? new ArrayList<ProductData>() : (ArrayList<ProductData>)session.getAttribute("cartList");
それは最初の実行でうまく機能します。ただし、ページのコードを変更するたびに(そして、クラス宣言を変更しない場合)、サーブレットはエラーを発生させます。java.lang.ClassCastException: org.apache.jsp.MCPatisserie.cart_jsp$1ProductData
私の質問は、これはclassJavaサーブレットページに実装するための良い方法ですか?このエラーはサーブレットページの再コンパイルが原因で、sessionオブジェクトが私のものと一致しなくなりましたArrayListか?前もって感謝します。:)