我有一个网络流程,我需要在其中一个屏幕上捕获数据。
此数据存储在一个对象中,该对象将保存在bean的列表中。
在提交页面时,我希望能够创建一个对象,并将其添加到bean中的列表中。
这可能吗?
由于
答案 0 :(得分:1)
你需要做几件事:
将对象放入流范围(或在现有对象上添加额外字段,如表单),以提供指向要编辑的对象的固定绑定路径。如果不这样做,则无法利用Spring的数据绑定。
在FormAction上编写一个方法,将此对象放入列表中,并将此方法设置为在提交当前页面时按照转换运行。此方法可以根据需要清除(1)中使用的流镜级资源。
编辑 Webflow文档提供了有关如何在转换上执行操作的很好示例。对于Webflow版本2,请查看Executing view transitions和Executing actions。对于版本1,请参阅Flow definition。
答案 1 :(得分:1)
最后,我设法让它使用以下流程。
我创建了一个帮助bean来保存一个函数,用于添加到表单bean中保存的列表。
<view-state id="page2" view="page2">
<transition on="save" to="addToList">
<action bean="form" method="bindAndValidate"/>
</transition>
<transition on="back" to="page1">
<action bean="formAction" method="bindAndValidate"/>
</transition>
<transition on="next" to="page3">
<action bean="formAction" method="bindAndValidate"/>
</transition>
</view-state>
<action-state id="addToList">
<bean-action bean="helperbean" method="addToList">
<method-arguments>
<argument expression="conversationScope.form"/>
</method-arguments>
</bean-action>
<transition on="success" to="page2"/>
</action-state>
然后再次显示原始页面
答案 2 :(得分:0)
我会将Bean(和列表)存储在Session中。