是否有可能在spring webFlow中获得子流的堆栈

时间:2012-07-31 06:16:36

标签: navigation spring-webflow

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

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

简单示例:

我的foo/foo.xhtml来自foo/flow.xmlbar/bar.xhtml来自bar/flow.xml。 最后我的baz/baz.xhtml有一个baz/flow.xml。这被称为来自foo流或bar流的子流。在baz flow的支持bean中,我需要看到“历史”我如何调用我的baz/flow.xml

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

1 个答案:

答案 0 :(得分:1)

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

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

<{1>}中的

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

<{1>}中的

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