1

在我们的应用程序中,我们使用 Spring WebFlow 在站点中导航用户。在某些页面中,我需要知道我从哪个流开始当前子流。有没有什么简单的方法可以在 Spring WebFlow 中获取这些信息?

我正在使用 Spring WebFlow 2.0.9 版,不幸的是无法升级到更新版本。

简单的例子:

我有页面foo/foo.xhtml调用 from foo/flow.xmlbar/bar.xhtml调用 from bar/flow.xml
最后我有baz/baz.xhtml一个baz/flow.xml. 这被称为 foo 流或 bar 流的子流。在baz flow的backing bean中,我需要查看我如何称呼我的“历史”baz/flow.xml

为这个问题找到的解决方案:
您也可以实现自己的 FLowExecutionListener,当您输入 StateDefinition 时,您可以检查它是否是 SubflowState 的实例并获取父级的名称。那么也许您可以将该变量放入 FlowScope 以在您的状态下使用它 - rptmat57

4

1 回答 1

1

在每个子流中设置的原始流上使用输入怎么样?
baz/flow.xml

<input name="comingFrom" type="string">

foo/flow.xml

<subflow-state id="subFlowFoo" subflow="baz">
<input name="comingFrom" value="Foo" type="string"/>
...
</sublfow-state>

bar/flow.xml

<subflow-state id="subFlowBar" subflow="baz">
<input name="comingFrom" value="Bar" type="string"/>
...
</sublfow-state>

于 2012-08-01T17:18:45.023 回答