刚刚掌握了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论坛,但是没有在任何地方看过这个......
答案 0 :(得分:1)
它涵盖在Spring in Action 3中,这是我眼中的Spring开发的好书。
虽然在这里回答你的问题,但我认为你正在寻找decision-state
过渡元素。要获得用户输入,您应该能够在test
属性中使用Spring Expression Language(SpEL)。
答案 1 :(得分:1)
我最近尝试过使用decider,但坦率地说,对于任何非平凡的逻辑,最好将它转移到Java方法,在那里你可以轻松地对它进行单元测试。然后调用所述方法并使用那里的输出。保持流XML文件尽可能简单是最好的。