Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 正在尝试使用FacesContext从会话中检索用户_Jsf_Javabeans_Facescontext - Fatal编程技术网

Jsf 正在尝试使用FacesContext从会话中检索用户

Jsf 正在尝试使用FacesContext从会话中检索用户,jsf,javabeans,facescontext,Jsf,Javabeans,Facescontext,我目前正在尝试从登录的用户那里检索所有数据,以便我可以使用这些数据,例如列出他的电子邮件或联系人,或者修改或添加新的电子邮件或联系人 在开始时,在登录屏幕中,我使用一种方法将该用户置于会话中 private void putUserInSession(Usuario user) { Map<String, Object> session = FacesContext.getCurrentInstance() .getExternalContex

我目前正在尝试从登录的用户那里检索所有数据,以便我可以使用这些数据,例如列出他的电子邮件或联系人,或者修改或添加新的电子邮件或联系人

在开始时,在登录屏幕中,我使用一种方法将该用户置于会话中

    private void putUserInSession(Usuario user) {
    Map<String, Object> session = FacesContext.getCurrentInstance()
            .getExternalContext().getSessionMap();
    session.put("LOGGEDIN_USER", user);
}
我尝试在会话中为用户设置bean值,但没有显示任何数据

我还尝试在其他bean中检索它,比如在用户帐户中保存给定的电子邮件(因此我需要他或她的ID)


但它的工作方式与前一种情况不同。

它会引发异常吗?它是否返回“exito”?你说它不工作是什么意思?没有抛出异常,它返回“exito”。“它不起作用”,我的意思是,在我尝试访问的页面中,登录名、姓名和所有数据都没有填入文本字段,就像我试图调用的对象为空一样。或者,当我试图转到一个页面,其中的数据在表中(如来自给定用户名的电子邮件),那里没有任何数据。我刚刚调试了代码并返回“Usuario”,但所有值都为空、null或0。如果
Usuario
是一个真正的会话范围的托管bean,
Usuario.setUsuario(usermodificar)正确设置会话范围的托管bean的值,并且
Usuario usermodificar=(Usuario)getObjectFromSession(“LOGGEDIN_USER”)正确地检索存储在会话范围的托管bean中的值,那么它应该正常工作。您可能希望调试/跟踪这些语句,如果它没有按预期工作-上述方法可能无法检索该值-很可能它没有存储到会话范围的bean中,或者使用与
LOGGEDIN\u USER
不同的键存储。
    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);
}
Usuario usuario = (Usuario) getObjectFromSession("LOGGEDIN_USER");