sfr*_*frj 0 java jsf java-ee java-ee-6 jsf-2
我的网络应用程序有一个在所有页面中使用的模板.我想在该模板中创建一个小标签(因此它随处可见),以显示用户当前登录的电子邮件.
我认为最好的方法是直接查看它是否存在于会话中,所以这就是我创建标签的方式:
<h:outputLabel id="usernameLabel"
value="#{FacesContext.getCurrentInstance().getExternalContext()
.getSessionMap().get("userRole")}" />
Run Code Online (Sandbox Code Playgroud)
代码在语法上不正确.如何以适当的方式编写它以实现我的目标?你认为这种方法是否正确?
更好的方法是将userBean存储在包含用户信息的会话中.
然后
#{userBean.email}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用jsp el直接从会话归属
${userRole}
Run Code Online (Sandbox Code Playgroud)
我更喜欢第一种方法
更新
成功登录后,例如在ManagedBean中设置经常需要的
@ManagedBean
@SessionScoped
public class CurrentUserInfo{
private String userName;
private String firstName;
private String lastName;
//and some other like DOB and etc..
//+accessor methods
}
Run Code Online (Sandbox Code Playgroud)
这将是活着的,并可通过会议访问
| 归档时间: |
|
| 查看次数: |
405 次 |
| 最近记录: |