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

时间:2015-04-02 11:14:46

标签: jsf javabeans facescontext

我目前正在尝试检索登录用户的所有数据,以便我可以使用它来列出他的电子邮件或其联系人,或者可以修改或添加新的数据。

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

    private void putUserInSession(Usuario user) {
    Map<String, Object> session = FacesContext.getCurrentInstance()
            .getExternalContext().getSessionMap();
    session.put("LOGGEDIN_USER", user);
}

为了检索该用户在页面中显示他的个人数据以便修改和更新它,我在.xhtml页面内的一个调用中使用以下一个,因此它返回&#34; exito&#34; (成功)它将带我进入编辑页面。

    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");

但它并不像以前的情况那样有效。

0 个答案:

没有答案