在Spring Web FLow中的流中调用特定的视图状态

时间:2012-02-28 14:46:13

标签: spring spring-webflow

在我们的Spring App中,在某些测试场景下,我们需要在流中调用特定的视图状态,该流可能是也可能不是流中的起始状态。有什么办法可以做到这一点吗?

通常每当我们点击一​​个url时,它会调用该流的开始状态,但是在这里我们需要调用一个特定的视图状态。

感谢。

1 个答案:

答案 0 :(得分:1)

我们希望做类似的事情,虽然更加有限,以便我们可以提供直接链接到流的第二个视图状态,就像用户访问了第一个视图状态并用特定数据填充其输入表单一样

您或许可以使用这种方法来完成您的要求,但当然,普通用户也可以做同样的事情。

所以仅供参考,这是我们所做的,使起始状态成为一个动作状态,寻找输入参数并决定从哪里过渡到。

<var name="queryForm" class="package.QueryForm"/>

<!-- Allow input parameters for direct links -->
<input name="number"/>
<input name="name"/>

<action-state id="begin">
    <evaluate expression="number != null and name != null"/>
    <transition on="yes" to="findAccount">
        <set name="queryForm.number" value="number"/>
        <set name="queryForm.name" value="name"/>
    </transition>
    <transition on="no" to="formInput"/>
</action-state>

<view-state id="formInput" view="formInput" model="queryForm">
    <transition on="submit" to="findAccount"/>
</view-state>

<action-state id="findAccount">
    <evaluate expression="actionInstance.findAccount"/>
    ....
</action-state>