springwebflow-通用决策状态的最佳实践

i5desfxk  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(285)

在流期间,我检查会话是否已过期或未使用决策状态,如果是,则应重定向到错误页,如果不是,则流应继续。
现在我想要两个不同的转换来调用decision state,所以我为每个转换创建两个decision state。

<transition on="A" to="checkA"/>
<transition on="B" to="checkB"/>

<decision-state id="checkA">
    <if test="error?" then="error" else="doA"/>
</decision-state>

<decision-state id="checkB">
    <if test="error?" then="error" else="doB"/>
</decision-state>

那么,有没有其他的方法,我可以做一个单一的广义决策状态,可以检查错误,如果有,那么转到错误状态,或者继续它应该继续的转换。
先谢谢你,

fbcarpbf

fbcarpbf1#

有了上面的警告,我认为这实际上不适用于您描述的检查过期会话的情况,flowxml文件可以使用 #{} 模板表达式如下:

<transition on="A" to="checkCondition">
    <set name="flowScope.nextState" value="doA"/>
</transition>
<transition on="B" to="checkCondition">
    <set name="flowScope.nextState" value="doB"/>
</transition>

<decision-state id="checkCondition">
    <if test="error?" then="error" else="#{flowScope.nextState}"/>
</decision-state>

相关问题