2016-04-09 40 views
0

情況:我開發一個Spring MVC的網絡流量的應用程序,因爲我有兩個表customercustomerAdress和兩個對應的型號:customerModelcustomerAdressModel,現在下面是我的flow.xml:如何將商業服務返回的值存儲在spring web流中的變量中?

<var name="customer" class="com.model.Customer"/> 
    <var name="customerAdress" class="com.model.CustomerAdress"/> 
    <var name="id"> 

    <view-state id="customer" view="customerView.jsp" model="customer"> 

    <transition on="next" to="customerAdress"/> 
    </view-state> 

    <view-state id="customerAdress" view="customerAdressView.jsp" model="customerAdress"> 

    <transition on="next" to="insertCustomer"/> 
    </view-state> 

    <action-state id="insertCustomer"> 
    <evaluate expression="Buisness.insertCustomer(customer)"/> 
    <evaluate expression="Buisness.fetchCustomerId(customer)" result="id"/> 
    <evaluate expression="Buisness.insertCustomerAdress(id,cutomerAdress)"/> 
    </action-state> 

現在insertCustomer插入客戶,fetchCustomerId通過id

問題獲取客戶的客戶ID和insertCusotomerAdress插入不會忽略:我的問題是這段代碼不工作,特別是insertCustomerAdress不工作,我認爲我在解碼id或將商店服務的值分配給id時犯了一些錯誤,有人可以告訴我適當的語法嗎?

回答

0

默認情況下動作狀態只執行第一個動作。要執行一系列操作,請使用Named actions

<action-state id="insertCustomer"> 
    <evaluate expression="Buisness.insertCustomer(customer)"> 
     <attribute name="name" value="insertCustomer" /> 
    </evaluate> 
    <evaluate expression="Buisness.fetchCustomerId(customer)" result="id"> 
     <attribute name="name" value="fetchCustomerId" /> 
    </evaluate> 
    <evaluate expression="Buisness.insertCustomerAdress(id,cutomerAdress)"> 
     <attribute name="name" value="insertCustomerAdress" /> 
    </evaluate> 
    <transition on="insertCustomerAdress.success" to="[state id to transit]" /> 
</action-state> 
相關問題