与Session的getAttribute和setAttribute方法混淆

时间:2011-03-02 05:29:36

标签: java servlets

我使用session.set/getAttribute()HashMap传递给另一个servlet。在我的下一个servlet中,我将为HashMap添加一个值,但是当我搜索该值时,它无法读取。为什么不起作用?

我的设置如下:

session.setAttribute("itemList", itemList);

我正在检索它如下:

HashMap itemList = (HashMap)session.getAttribute("itemList");
itemList.put(stockNo, item);
session.setAttribute("itemList", itemList);

这是对的吗?

2 个答案:

答案 0 :(得分:1)

session.setAttribute("itemList", itemList); //is this correct???

在上面的语句中,您刚刚将“itemList”(标识符)与itemList(object)相关联。这意味着,如果您想稍后在此itemList对象上进行引用,则只需引用“itemList”标识符。

Java API是你的好朋友。你应该很容易理解这一点。

答案 1 :(得分:1)

session.setAttribute(“itemList”,itemList); //它是否正确? ---这就是你设置它的方式

HashMap itemList =(HashMap)session.getAttribute(“hashM”); ---这是你检索它的方式

在两个地方使用相同的键“itemList”。