0

我有一个网络流,我需要在其中一个屏幕上捕获数据。

此数据存储在一个对象中,该对象将保存在 bean 的列表中。

在提交页面时,我希望能够创建一个对象,并将其添加到 bean 中的列表中。

这可能吗?

谢谢

4

3 回答 3

1

你需要做几件事:

  1. 将一个对象放入流范围内(或在现有对象上添加一个额外的字段,例如您的表单),为您要编辑的对象提供一个固定的绑定路径。如果不这样做,就无法利用 Spring 的数据绑定。

  2. 在您的 FormAction 上编写一个方法以将此对象放入您的列表中,并将此方法设置为在您提交当前页面时跟随的转换上运行。该方法可以根据需要清理(1)中使用的flowscope级资源。

编辑Webflow 文档有很好的例子说明如何对转换执行操作。对于 Webflow 版本 2,请查看Executing view transitionsExecuting actions。对于版本 1,请参阅流定义

于 2009-06-16T21:17:15.963 回答
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>

然后它再次显示原始页面

于 2009-06-18T07:49:28.880 回答
0

我会将 Bean(和列表)存储在 Session 中。

于 2009-06-16T21:00:45.153 回答