ADF中解析 EL 表达式

来源:互联网 发布:自学广告设计软件 编辑:程序博客网 时间:2024/05/16 14:43

为了测试我们解析EL表达式的结果,我们需要如下的场景

在主页面上有两个Button,一个新增,一个编辑,在我们点击新增按钮的时候将新增存入#{pageFlowScope.action},点击编辑的时候,将编辑存入#{pageFlowScope.action}

页面结构以及相应的setActionListener如下
页面结构

新建一个backbean监听他们俩的点击事件,在这个监听函数中取出#{pageFlowScope.action}里面存放的值

在这个监听函数onClickListener中,代码以及一些解析如下

    public String onClickListener() {        String elExp="#{pageFlowScope.action}";                //得到FacesContext        FacesContext facesContext=FacesContext.getCurrentInstance();        //通过FacesContext得到Application        Application app=facesContext.getApplication();        //通过FacesContext得到ELContext        ELContext elContext=facesContext.getELContext();        //通过Application得到ExpressionFactory        ExpressionFactory elFactory=app.getExpressionFactory();        //通过 elFactory 创建 ValueExpression 第三个参数为EL表达式中存放值的类型,我们设置为Object就好        ValueExpression valExp=elFactory.createValueExpression(elContext,  elExp, Object.class);        System.out.println(valExp.getValue(elContext));        return null;    }

这样,当我们点击不同的按钮,就会输出不同的数据了
最后效果

原创粉丝点击