从 table 中的 select 行获取值并将其发送到有界任务流的最简单方法

Simplest way to get a value from a select row in a table and send it to a bounded task flow

我正在尝试 select 显示 table 中的一行,并将该行中的值用作有界任务流的输入。这似乎是一件很常见的事情,因此您可以重用任务流,但我在 Web 上找到的所有内容都需要大量代码。缺失的部分似乎是将数据从 select 行获取到任务流的输入。网上有这方面的好例子吗?我一定是找错东西了。

1- 首先用这种简单的方法从选定的行中获取值:

a- 在您的 table 中添加列并使用 PropertyActionListener 添加命令按钮/link 以在 pageFlowScope 中设置所选值,如下所示:

<af:column id="c8" headerText="Select">
                      <af:commandLink text="Select" id="cl1">
                        <f:setPropertyActionListener target="#{pageFlowScope.testVal}"
                                                     value="#{row.FirstName}"/>
                      </af:commandLink>
                    </af:column>

b- 在 Taskflow 属性 > 在参数部分 > 添加您的参数和来自 pageFlowScope 变量的选择值...在我们的例子中将是 #{pageFlowScope.testVal}

虽然 A_BOSS 是正确的,但您可以使用 setPropertyListener 来设置值,不幸的是,该示例存在缺陷。该示例使用内存范围参数:pageFlowScope.testVal。在 ADF 中执行此操作是非常糟糕的做法,并且应该 永远不会 在生产中完成,这样做有无数问题。例如: param 拼写错误,JDeveloper 无法反馈,容易出现 NPE。虽然它不完全是一种反模式,但它已经足够接近了,不能这样做。正确的方法是创建并注册一个托管 bean 并传递该 bean 的属性:pageFLowScope.bean.testal