2016-06-23 19 views
0

我有两个流程。从第一个流程中,我将一个值传递给第二个流程。我想验证该值,如果为null,则调用一个操作。我尝试过:spring webflow:检查属性值并执行动作

<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

一个动作我找到了一种方法,并认为,如果我在这里分享,这将是对初学者很有帮助。

流量1

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

流量2

创建一个决策状态和动作状态调用它。您可以使用'start-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>