关于Oracle ADF 11g的传值给bounded task flow

(关于Oracle ADF 11g的传值给bounded task flow

  2010-10-20 16:53:03)
标签: 

it

分类: ADF开发
对于bounded task flow来说,其managedBean只对这个bounded task flow可见,也就是说bounded task flow中的Fragement或者page才可以操作bounded task flow的managedBean,但有时候bounded task flow中需要根据unbounded task flow的变量来做判断,这时候就需要传入参数给bounded task flow了。关于这个做了个简单的例子。
       首先bounded task flow需要定义parameter,name和value一般对应就行了,当然类型可以随便定义,可以是个String,也可以是个Object。
   <input-parameter-definition id="__1">
      <name id="__2">test</name>
      <value>#{pageFlowScope.Test}</value>
      <class>java.lang.String</class>
    </input-parameter-definition>
       对于bounded task flow的使用,可以直接拖放到页面中产生Dynamic Region,也可以用task flow call来调用,但不管如何使用,外部的变量是一定要传递给定义好的parameter。如果是拖放产生Dynamic Region的话,那这个页面的pageDef中一定会有这个task flow的相关定义,那变量的传递就是在这里面配置了。
       <taskFlow id="dynamicRegion"
                           taskFlowId="${viewScope.dynamic_region.taskFlowId}"
                           activation="deferred"
                           xmlns="http://xmlns.oracle.com/adf/controller/binding">
      <parameters>
        <parameter id="test" value="#{viewScope.dynamic_region.testValue}"
                   xmlns="http://xmlns.oracle.com/adfm/uimodel"/>
      </parameters>
       </taskFlow>
       这样外部只要改变 dynamic_region的testValue,那这个value就可以传递给bounded task flow了,当然在bounded task flow中要使用parameter了,可以在页面中可以直接绑定#{pageFlowScope.Test}这个EL表达式,值就能拿到了,如果是在这个bounded task flow的managedBean中的话,需要使用下面的方法来拿到parameter。
    AdfFacesContext.getCurrentInstance().getPageFlowScope().get("Test")
        注意并不是get("test"),当然如果parameter的name和value都是"test",那用"test"就没问题了,这里取不一样的名字就是为了区分这个。这样往bounded task flow中传值就搞定了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值