在我们的应用程序中,我们使用Spring WebFlow来引导用户浏览网站。在某些页面中,我需要知道从哪个流开始当前子流。有没有简单的方法可以在Spring WebFlow中获取此信息?
我使用的是Spring WebFlow版本2.0.9,不幸的是无法升级到更新的版本。
简单示例:
我的foo/foo.xhtml
来自foo/flow.xml
,bar/bar.xhtml
来自bar/flow.xml
。
最后我的baz/baz.xhtml
有一个baz/flow.xml
。这被称为来自foo流或bar流的子流。在baz flow的支持bean中,我需要看到“历史”我如何调用我的baz/flow.xml
找到这个问题的解决方案:
您还可以实现自己的FLowExecutionListener,当您输入StateDefinition时,您可以检查它是否是SubflowState的实例并获取父级的名称。那么也许您可以将该变量放在FlowScope中以在您的州中使用它 - rptmat57
答案 0 :(得分: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"/>