2012-09-12 44 views
2

忽略表達式我有一個流定義作爲流動彈簧的Webflow,評估在過渡

<view-state id="view1" view="/jsp/view1.xhtml"> 
    <transition on="login" to="view1" > 
     <evaluate expression="'test1'" result="viewScope.t1"/> 
     <evaluate expression="'test2'" result="viewScope.t2"/> 
    </transition> 
</view-state> 

View1.xhtml:

${t1}<br/> 
${t2} 

在view1.xhtml,我打印的兩個變量t1和t2但只打印'test1'。轉換中忽略第二個表達式。爲什麼會發生?

回答

2

http://static.springsource.org/spring-webflow/docs/2.3.x/reference/htmlsingle/spring-webflow-reference.html#view-transitions

當存在於一個過渡定義了多個動作,如果一個返回一個錯誤導致該組中的剩餘的操作將不被執行。

現在,還讀該節,我以爲只有false會被認爲是一個錯誤的結果,但也許是其他什麼比「成功」的價值觀。你的經驗似乎證明了這一點。 (我認爲我已經找到了什麼返回值被認爲是成功和失敗的列表,但我現在沒有找到它。)

但是,而不是<evaluate>,你可以使用<set>

<transition on="login" to="view1" > 
    <set name="viewScope.t1" value="'test1'" /> 
    <set name="viewScope.t2" value="'test2'" /> 
</transition> 
+0

非常感謝。這非常有幫助。似乎我在錯誤的地方更新了。 – Raistlin