在登录时显示用户的电子邮件(JSF 2.0)



我的web应用程序有一个在所有页面中使用的模板。我想在模板中创建一个小标签(所以它在任何地方都是可见的)来显示用户的电子邮件,如果它当前登录。

我认为最好的方法是直接查看它是否存在于会话中,所以我是这样创建标签的:
<h:outputLabel id="usernameLabel"
               value="#{FacesContext.getCurrentInstance().getExternalContext()
                      .getSessionMap().get("userRole")}" />

代码语法不正确。我该如何用恰当的方式来写它来实现我的目标?你认为这种做法正确吗?

更好的方法是将userBean存储在包含用户信息的会话中。

然后

#{userBean.email}

或者您可以使用jsp el

直接从会话中添加属性
${userRole}

我更喜欢第一种方法

成功登录后,设置ManagedBean中经常需要的内容,例如

@ManagedBean
@SessionScoped
public class CurrentUserInfo{
  private String userName;
  private String firstName;
  private String lastName;
  //and some other like DOB and etc..
  //+accessor methods 
}

这将是活的,并且可以通过会话访问

相关内容

  • 没有找到相关文章

最新更新