ADF中Taskflow传参的简单使用

场景描述

      如下图,我要在Department页面选中一个DepartmentId,然后把这个值传入到另一个Taskflow中(见图一),然后在这个Taskflow中选中一个Employee,将他的名字返回给Department页面。这里我没有用Master-Detail功能,Employee和Department两个VO是独立的,没有建立View Link关系,仅仅为了讲述Taskflow中是如何传递参数的。

     

      图一

     

     图二

     

     图三

     

     图四

   

一、在Department页面中的Command Link中,设置setActionListener或者setPropertyListener把当前DepartmentId传入到pageFlowScope中(图一)。        

[html]  view plain copy
  1. <af:column sortProperty="DepartmentId" sortable="false"  
  2.                    headerText="#{bindings.DepartmentsView1.hints.DepartmentId.label}"  
  3.                    id="c4">  
  4.           <af:commandLink id="ot4" text="#{row.DepartmentId}" action="employee">  
  5.             <af:setActionListener from="#{row.DepartmentId}"  
  6.                                   to="#{pageFlowScope.deptId}"/>  
  7.           </af:commandLink>  
  8.         </af:column>  
    说明:此处定义了一个pageFlowScope的deptId,并且将当前选中的DepartmentId设置到这个变量中。

    另外,在Department所在的TaskFlow中拖入Employee页面的TaskFlow,并且选中这个TaskFlow,如下图

    

    图中的departmentId即是下一步中定义的departmentId,并且给它赋值#{pageFlowScope.deptId}(页面上传过来的),图中EmployeeName也是下一步中定义的Return Value,将Return Value中的值放入pageFlowScope范围的empName变量中,在Employee页面中使用这个变量,如图四中红框中显示的部分。

二、在Taskflow中定义Input Parameters和Return Value Definitions

    在Employee页面所在Taskflow中定义Input Parameters,和Return Value Definitions,如下图和源代码。

    

[html]  view plain copy
  1. <input-parameter-definition id="__3">  
  2.       <name id="__2">departmentId</name>  
  3.       <value>#{pageFlowScope.departmentId}</value>  
  4.     </input-parameter-definition>  
  5.     <return-value-definition id="__16">  
  6.       <name id="__17">EmployeeName</name>  
  7.       <value>#{pageFlowScope.employeeName}</value>  
  8.     </return-value-definition>  
    说明:这里定义了一个接收传入的参数departmentId和接收返回参数的EmployeeName。上图中1处是在定义时自动生成的,我想应该是个默认值,实际上经测试去掉这个也没有关系,可以在这里定义一个常量,试着不给departmentId传参,看是否能根据指定的departmentId查询出对应的Employees结果。上图2处是界面上定义的变量,目的是在界面上通过Command组件将选中的Employee Name传到这个变量中,在设置到Return Value中,继续看以下步骤。

三、进入Employee页面前执行以departmentId为参数的查询,在Employee页面中的CommandLink中设置setActionListener或者setPropertyListener把当前DepartmentId传入到pageFlowScope中(图三),类似第一步。Employee页面的TaskFlow如下图:

    

    

四、详细内容参见源代码

http://download.csdn.net/detail/ygj26/4622897


参考文献

http://docs.oracle.com/cd/E23943_01/web.1111/b31974/taskflows_parameters.htm#CHDCAJIH

转自:http://blog.csdn.net/ygj26/article/details/8025867

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值