Spring Web Flow 1.0 RC3 發佈

親愛的 Spring 社群:
我們很高興地宣佈 Spring Web Flow (SWF) 1.0 RC3 (Release Candidate 3) 已經發佈。 下載 | 文件 | 變更日誌
這個穩定版本包含錯誤修正和小幅改進。 我們預期這是 Spring Web Flow 1.0 最終版本之前的最後一個候選版本,它即將推出。 值得注意的是...
值得注意的改進
改進的 Flow 異常層級。 總體而言,異常層級現在更清楚地組織了從 Flow 定義存取 (FlowLocatorException) 到執行階段 Flow 執行 (FlowExecutionException) 以及執行持續性 (FlowExecutionRepositoryException) 的失敗類別。
改進了在 Portlet 環境中使用返回按鈕的支援。 結合基於連續性的儲存庫,SWF 支援在 Portlet 環境中完全使用瀏覽器導覽按鈕(返回、重新整理),同時 Flow 保持活動狀態。 當 Flow 執行終止時,瀏覽器重新整理將自動觸發啟動新的執行。
更簡單的預設 JSF 檢視對應。 現在預設情況下,SWF 檢視名稱應與 JSF 檢視 ID 完全對應。您將在 sellitem-jsf 範例中看到這個預設值 - 注意檢視是如何像標準 JSF 導覽處理常式一樣,以 "/priceAndItemCountForm.jsp" 等方式參考。 這允許自然支援其他 JSF 檢視技術,例如 Facelets,並且對於 JSF 開發人員來說是一個更自然的預設值。 如果您需要自訂 SWF 到 JSF 檢視對應,請將自訂 ViewIdMapper 插入到您的 FlowPhaseListener 中。
範例應用程式簡化。 我們簡化了 fileupload、flowlauncher、birthdate 和 sellitem 範例,以利用 Spring Web Flow 的最新功能和最佳實務。
潛在的影響使用者的變更
在 1.0 RC3 中,在通往 1.0 最終版本的過程中,有一些潛在的影響使用者的變更。 以下章節將說明這些變更。
為了簡單起見,已移除 FormAction 屬性 "validateUsingValidatorMethod"。 經驗表明,這個屬性是新使用者的困惑來源。 作為更好的替代方案,要執行沒有驗證的資料繫結操作,只需從您的 Flow 定義中調用 "bind" 動作方法。 當您需要零星的 Validator 驗證時,只需使用設定為特定驗證器方法的 "validatorMethod" 屬性調用 "bindAndValidate" 或 "validate"。 請參閱 sellitem 範例。
StateExceptionHandler 已重新命名為 "FlowExecutionExceptionHandler"。 這會影響自訂處理常式實作。 若要升級,只需實作新的介面;簽章在邏輯上是相同的。
FlowExecutorImpl 的 "redirectOnPause" 屬性現在接受布林值,而不是 RedirectType 列舉。 從 SWF 1.0 RC2 開始,只有一種重新導向類型 - Flow 執行重新導向。 每次 Flow 執行因進入檢視狀態而暫停時,將此標記設定為 'true' 會觸發它。 請參閱 Numberguess 或 sellitem 範例。
--------
開始使用 Spring Web Flow 的最佳方法之一是檢閱並逐步完成範例應用程式。 我們建議檢閱所有範例,並根據需要從一開始就補充參考手冊資料。1.0 RC3 版本附帶十個範例應用程式,每個範例都展示了一組不同的產品功能。 這些範例是
1. Phonebook - 展示大多數功能的原始範例(包括子 Flow)
2. Sellitem - 展示具有條件轉換、Flow 執行重新導向、交談範圍和連續性的精靈
3. Flowlauncher - 展示啟動和恢復 Flow 的所有可能方法
4. Itemlist - 展示 REST 樣式的 URL 和內嵌 Flow
5. Shippingrate - 展示 Spring Web Flow 與 Ajax 技術的結合(感謝 Steven Devijver)
6. NumberGuess - 展示有狀態 Bean 和「單一金鑰」Flow 執行重新導向。
7. Birthdate - 展示 Struts 整合
8. Fileupload - 展示多部分檔案上傳
9. Phonebook-Portlet - Portlet 環境中的電話簿範例
(注意 Flow 定義沒有變更)
10. Sellitem-JSF - JSF 環境中的 sellitem 範例
享受!
Spring Web Flow 團隊
Keith DonaldErwin Vervaet
Juergen Hoeller
Colin Sampaleanu
Rob Harrop