我目前正在尝试从登录的用户那里检索所有数据,以便我可以使用它,例如列出他的电子邮件或他的联系人,或者可以修改或添加新的。
一开始,在登录屏幕中,我使用一种方法将该用户置于会话中。
private void putUserInSession(Usuario user) {
Map<String, Object> session = FacesContext.getCurrentInstance()
.getExternalContext().getSessionMap();
session.put("LOGGEDIN_USER", user);
}
并检索该用户以在页面中显示他的个人数据以修改和更新它,我在 .xhtml 页面内的调用中使用以下一个,因此当它返回“exito”(成功)时,它将带我到编辑页面。
public String proceed(){
Usuario usermodificar = (Usuario) getObjectFromSession("LOGGEDIN_USER");
usuario.setUsuario(usermodificar);
return "exito";
}
private Object getObjectFromSession(String key) {
return FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().get(key);
}
我尝试在会话中为用户设置 bean 值,但没有显示任何数据。
我还尝试在其他 bean 中检索它,例如将给定的电子邮件保存在用户帐户中(所以我需要他或她的 ID)
Usuario usuario = (Usuario) getObjectFromSession("LOGGEDIN_USER");
但它不像以前的情况那样工作。