假设我创建了一个 Customer 变量并将其放入我的会话中:
FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().put("currentUser", currentUser);
然后,假设我对这个对象进行了一些更改。我首先从会话中获取 Customer 对象,通过以下方式对其进行一些更改:
//Do the changes, set username again etc.
Customer currentCustomer = (Customer)FacesContext.getCurrentInstance()
.getExternalContext().getSessionMap().get("currentCustomer");
然后,如果我将这个新的客户对象以与以前相同的名称放入会话中,它会被旧的替换吗?我的意思是,如果我在更新该对象后编写以下代码,会话变量是否更新:
FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().put("currentCustomer", currentCustomer);
我的意思是,我将一个名为“currentCustomer”的变量放入会话中,我对其进行了更新并再次放入具有相同名称“currentCustomer”的会话中。在这种情况下会发生什么?它会自动替换为旧的吗?因为我认为我们不能将两个不同的对象放入具有相同名称的会话中,对吧?