2016-04-09 11 views
0

Durum: Bir bahar mvc web akış uygulaması geliştiriyorum, ben iki tablo customer ve customerAdress ve iki karşılık gelen modelleri var ki: Artıkİlkbaharda web akışında bir değişkende bir işletme hizmeti tarafından döndürülen değer nasıl saklanır?

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

: customerModel ve customerAdressModel, şimdi aşağıdaki benim flow.xml olduğunu insertCustomer uçlar müşteri, fetchCustomerIdid

Problem tarafından müşterinin müşterinin kimliği ve insertCusotomerAdress uçlar adresses getirir: Benim sorunum bu kod çalışmıyor, özellikle insertCustomerAdress çalışmıyor, id dekalringinde hata yaptım veya buisness hizmetinin değerini id'a atayarak, birisi bana düzgün sözdizimi söyler mi?

cevap

0

Varsayılan olarak, eylem durumu yalnızca ilk eylemi yürütür. Bir işlem zincirini yürütmek için Named actions kullanın.

<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> 
İlgili konular