spring webflow:检查属性值并执行操作

时间:2016-06-23 12:23:01

标签: java spring spring-webflow

我有两个流程。从第一个流程开始,我将值传递给第二个流程。我想验证值,如果为null则调用一个动作。我尝试过:

<input name="houseNumber" />    
<evaluate expression = "houseNumber != null ? createHouse : deleteHouse" />

createHouse是一个动作。但它没有打电话。也试过像下面的代码。谁能告诉我下面的代码有什么问题?

<input name="houseId" type="int" />
<on-start>
    <evaluate expression="houseId!= null" />
    <transition on="yes" to="loadHouse" />
    <transition on="no" to="emptyHouse" />
</on-start>

如何根据输入值调用操作

1 个答案:

答案 0 :(得分:0)

我找到了一种方法,并认为如果我在这里分享它会对初学者有所帮助。

流程1

<subflow-state id="home" subflow="flow2">
        <input name="homeId" value="requestParameters.homeId"/>
</subflow-state>

流程2

创建决策状态并从操作状态调用它。您可以使用“start-state”

调用action-state
    <flow xmlns="http://www.springframework.org/schema/webflow"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://www.springframework.org/schema/webflow
            http://www.springframework.org/schema/webflow/spring-webflow-2.0.xsd"
          start-state="start">

    <input name="homeId" type="int" />

    <action-state id="start" >
          <evaluate expression="controller.doSomething()"
          <transition on="success" to="makeDecision" />
    </action-state>

    <decision-state id="makeDecision">
            <if test="homeId== null" then="loadHome" else="emptyHome" />
    </decision-state>

    <action-state id="loadHome" >
            <evaluate expression="controller.method1()" />
    </action-state>

    <action-state id="emptyHome" >
             <evaluate expression="controller.method2()" />
     </action-state>