Spring Web Flow PR3 釋出
Spring Web Flow PR3 已經發布。以下是 Keith 的郵件列表公告:
---
尊敬的 Spring 社群成員:
很高興宣佈釋出 Spring Web Flow Preview 3。 這是一個重要的新版本,包含了大量新功能:無論是在功能強大性還是便利性方面。 此版本被認為在開發使用方面是穩定的。
要下載,請訪問:http://sourceforge.net/project/showfiles.php?group_id=73357&package_id=148517
注意:PR2 和 PR3 之間存在一些不相容的更改。 有關列表和移植指南,請在此處訪問更改日誌:http://opensource.atlassian.com/confluence/spring/display/WEBFLOW/Change+Log
此版本包含許多重要的新增強功能。 以下是其中一些:
檢視狀態增強功能
- 現在可以為每個檢視狀態配置一個或多個 setup action。 此 action 在進入狀態後但在控制權返回給客戶端進行響應渲染之前執行。 這減少了(在許多情況下消除了)對 setup action 狀態的需求,使流程定義更加簡潔。
- 現在,每個檢視狀態都可以使用新的 ViewDescriptorCreator 策略,以完全動態、可插拔的方式選擇要渲染的檢視和所有支援的模型資料。
- 現在支援強大的重定向表示式,並全面支援從流程 RequestContext 動態解析重定向引數。
Setup action
<view-state id="displayCriteria" view="criteriaView">
<setup bean="searchFormAction" method="setupForm"/>
<transition on="submit" to="executeQuery">
<action bean="searchFormAction" method="bindAndValidate"/>
</transition>
</view-state>
重定向表示式
<end-state id="end" view="redirect:/myFlow.htm?input=${flowScope.input}"/>
子流程屬性對映增強功能
- 現在可以透過 XML 流程定義完全配置子流程輸入和輸出對映策略。
- 還可以指定表示式,以動態方式解析子流程輸入屬性值。
例如
<attribute-mapper>
<input value="${sourceEvent.parameters.id}" as="id" type="long"/>
</attribute-mapper>
使用的表示式語言也是可插拔的 – 預設情況下,web flow 將嘗試 OGNL,如果在 classpath 中找不到,它將使用 Spring 的 BeanWrapper。
帶註解的定義物件
- 除了 action 執行引數外,系統中的每個核心定義物件——Flow、State 和 Transition——現在都可以用任意屬性元資料進行註解。 這些屬性可以使用“property”元素在 webflow xml 定義中指定,並全面支援字串到型別的轉換以及方便的類型別名。
例如
<transition on="submit" to="executeQuery">
<property name="submitPressed" value="true" type="boolean"/>
</transition>
在這種情況下,這個 'submitPressed' 布林屬性在進入目標狀態後將可用於推理。
增強的流程執行監聽器回撥
- 響應執行中流程生命週期的監聽器現在有更多鉤子來插入自定義邏輯——通知現在發生在流程啟動、已啟動、暫停、恢復、進入新狀態、已進入新狀態或結束時——並且對於提議的流程狀態更改具有否決能力(例如,以便於進行狀態前置條件檢查)。
---
這些只是此版本的一些新功能。 有關完整的更改列表,請參見http://opensource.atlassian.com/confluence/spring/display/WEBFLOW/Change+Log
一如既往,我們非常珍視您的反饋。 再發布一兩個 PR 版本後,我們將達到 1.0 正式版!
順致敬意,
Keith Donald
Erwin Vervaet