如果&在视图状态内的webflow中的其他语句

时间:2013-08-20 08:56:56

标签: spring spring-webflow

我有以下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语句并执行所需的操作呢?

1 个答案:

答案 0 :(得分:3)

使用Decision-States

  

使用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>