我有一个简单的Spring WebFlow,它有几种状态。
当你达到某个状态时,是否有可能知道哪一个是前一个状态?
我需要这个,因为我想检测用户何时刷新页面,因此在这种情况下,我之前的状态将与我当前的状态相同。
答案 0 :(得分:1)
您可以设置如下变量:
<var name="comingFrom" class="java.lang.String"/>
<on-start>
<set name="comingFrom" value="''"/>
<on-start>
<state id="state1">
<transition on="transition1" to="current">
<set name="comingFrom" value="'state1'"/>
</transition>
</state>
<state id="current">
/* do what you want in your state with "comingFrom" */
<transition on="transistion2">
<set name="comingFrom" value="'current'"/>
</transition>
</state>
但是这需要您在每次转换到“当前”状态时设置此变量。
[编辑]决策状态示例:
<decision-state id="decisionState">
<if test="comginFrom != 'current'" then="state1" else="state2"/>
</decision-state>