我有以下view-state
:
<view-state id="editbestellung" view="eap/orderedit.xhtml"
model="flowScope.entity">
<transition on="save" to="eaporderlist" bind="true">
<evaluate
expression="eapBestellungDelegate.save(flowScope.entity,currentUser.name)" />
</transition>
</view-state>
否则我在 true 上设置了flowScope.isToDo
现在我需要检查此flowScope是否为真。如果是,则transition
应重定向to="eapordertodolist"
,如果为false,则应to="eaporderlist"
。
但我只知道如何设置if语句:
<if test="testingMethod()" then="view-state when true" else="view-state when false" />
那么如何在上面的视图状态中实现if语句并执行所需的操作呢?
答案 0 :(得分:3)
使用decision-state元素作为action-state的替代方法,使用方便的if / else语法做出路由决策。下面的示例显示上面的moreAnswersNeeded状态现在被实现为决策状态而不是动作状态
您的editbestellung
- 状态将如下所示(请注意我更改了to
):
<view-state id="editbestellung" view="eap/orderedit.xhtml"
model="flowScope.entity">
<transition on="save" to="eaporderdecision" bind="true">
<evaluate
expression="eapBestellungDelegate.save(flowScope.entity,currentUser.name)" />
</transition>
</view-state>
然后添加决策状态:
<decision-state id="eaporderdecision">
<if test="flowScope.isToDo" then="eapordertodolist" else="eaporderlist" />
</decision-state>