在我们的应用程序中,我们使用Spring WebFlow来引导用户浏览网站。在某些页面中,我需要知道当前子流是从哪个流开始的。有什么简单的方法可以在SpringWebFlow中获得这些信息吗?
我使用的是SpringWebFlow 2.0.9版本,很遗憾无法升级到新版本。
简单示例:
我的页面foo/foo.xhtml
从foo/flow.xml
调用,bar/bar.xhtml
从bar/flow.xml
调用
最后,我得到了具有baz/flow.xml
的baz/baz.xhtml
。这被称为foo流或bar流的子流。在baz flow的backing bean中,我需要看看我如何称我的baz/flow.xml
的"历史"
找到此问题的解决方案:
您还可以实现自己的FLowExecutionListener,当您输入StateDefinition时,您可以检查它是否是SubflowState的实例,并获取父级的名称。然后,也许你可以把这个变量放在FlowScope中,在你的状态下使用它——rptmat57
在每个子流中设置的原始流上使用输入怎么样
在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>