如何在Spring Webflow中实现条件转换

时间:2012-01-20 17:32:51

标签: spring-webflow

刚刚掌握了Spring Webflow。我有一些简单的形式工作和来回绑定 - 非常酷。目前我不明白的一件事是如何根据用户输入动态启动流程。

即。想象一下用户在第一个屏幕中选择一个选项的流程,并根据所做的选择,可以启动不同的子流程。在伪术语中类似于以下伪流程:

    <view-state id="selectService" model="serviceType">
            <transition on="proceed">
               <if "serviceType.selectedValue==1" to="subFlow1" />
               <if "serviceType.selectedValue==2" to="subFlow2" />
               <if "serviceType.selectedValue==3">
                      <if "serviceType.isValid==3" to="subFlow3" />
               </if>
               <default to="cancel" />
             </transition>
            <transition on="cancel" to="cancel" />
    </view-state>

我已经搜索过示例,docs,stackoverflow和spring论坛,但是没有在任何地方看过这个......

2 个答案:

答案 0 :(得分:1)

它涵盖在Spring in Action 3中,这是我眼中的Spring开发的好书。

虽然在这里回答你的问题,但我认为你正在寻找decision-state过渡元素。要获得用户输入,您应该能够在test属性中使用Spring Expression Language(SpEL)。

答案 1 :(得分:1)

我最近尝试过使用decider,但坦率地说,对于任何非平凡的逻辑,最好将它转移到Java方法,在那里你可以轻松地对它进行单元测试。然后调用所述方法并使用那里的输出。保持流XML文件尽可能简单是最好的。