JSF 如何用编程方式访问托管bean

来源:互联网 发布:苹果电脑系统安装软件 编辑:程序博客网 时间:2024/05/13 11:58
如果定制方法需要访问特定于用户的信息,例如用户的userLastName,在JSF 1.1中可以用以下Java代码编程方式做这件事:
FacesContext context = FacesContext.getCurrentInstance();
ValueBinding currentBinding = context.getApplication()
        .createValueBinding("#{userBean.lastName}");
String lastName = (String) currentBinding.getValue(context);
    要更新这个值,可以用以下代码:
currentBinding.setValue(context, "NewUserLastName");
    请注意可以用不带任何属性的表达式#{userBean}检索到整个UserBean实例。
FacesContext context = FacesContext.getCurrentInstance();
ValueBinding currentBinding = context.getApplication()
        .createValueBinding("#{UserBean}");
UserBean userBean = (UserBean) currentBinding.getValue(context);
String userLastName = userBean.getLastName();
    稍微简单些的变体是:
FacesContext context = FacesContext.getCurrentInstance();
UserBean userBean = (UserBean) context.getApplication()
        .getVariableResolver().resolveVariable(context, "userBean");
String userLastName = userBean.getLastName();
原创粉丝点击