我将HashMap
保存到session
中,如下所示:
HashMap<Integer, Cart> cart = new HashMap<>();
cart.put(id, new Cart(product.getName(), product.getPrice(), 1, product.getImage()));
session.setAttribute("cart", cart);
但是我应该如何将其从会话中恢复到HashMap
中呢?
我知道会话数据存储为对象,但是不知道如何将其放入HashMap
我尝试过:
HashMap<Integer, Cart> cart = session.getAttribute("cart");
但是它说cannot from Object to HashMap
答案 0 :(得分:1)
getAttribute
返回Object
public Object getAttribute(String name)
您可以将Map投射为,
HashMap<Integer, Cart> cart = (HashMap<Integer, Cart>) session.getAttribute("cart");
答案 1 :(得分:0)
session将值存储为Object。从会话检索到存储在会话中的对象类型时,您需要输入强制类型转换。