我有两个流程。从第一个流程开始,我将值传递给第二个流程。我想验证值,如果为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>
如何根据输入值调用操作
答案 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>