領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多
親愛的Spring社群,
我們很高興地宣佈 Spring Web Flow (SWF) 1.0 RC3 (釋出候選版3) 已釋出。 下載 | 文件 | 更新日誌
這個穩定版本包含了錯誤修復和次要改進。 目前我們預計這將是 Spring Web Flow 1.0 最終版本釋出前的最後一個候選版本,最終版本即將釋出。 值得注意的改進包括...
值得注意的改進
改進了流程異常層次結構。 總體而言,異常層次結構現在更清晰地組織了從流程定義訪問(FlowLocatorException)到執行時流程執行(FlowExecutionException)和執行永續性(FlowExecutionRepositoryException)的故障類別。
改進了在 Portlet 環境中使用後退按鈕的支援。 結合基於延續的儲存庫,SWF 在 Portlet 環境中支援在流程處於活動狀態時完全使用瀏覽器導航按鈕(後退、重新整理)。 當流程執行終止時,瀏覽器重新整理將自動觸發新的執行啟動。
更簡單的預設 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 最終版本的道路上,1.0 RC3 存在一些潛在的使用者影響變更。 以下部分將對此進行說明。
為了簡化,移除了 FormAction 屬性 "validateUsingValidatorMethod"。 經驗表明,此屬性是新使用者的困惑來源。 作為更好的替代方案,要在不進行驗證的情況下執行資料繫結操作,只需從您的流程定義中呼叫 "bind" 動作方法即可。 當您需要分步驗證時,只需呼叫 "bindAndValidate" 或 "validate",並將 "validatorMethod" 屬性設定為特定的驗證器方法即可。 請參閱 sellitem 示例。
StateExceptionHandler 已重新命名為 "FlowExecutionExceptionHandler"。 這會影響自定義處理程式實現。 要升級,只需實現新的介面;其簽名在邏輯上是相同的。
FlowExecutorImpl 的 "redirectOnPause" 屬性現在接受布林值而不是 RedirectType 列舉。 從 1.0 RC2 開始,SWF 中只有一種重定向型別——流程執行重定向。 將此標誌設定為“true”會在每次流程執行透過進入檢視狀態而暫停時觸發它。 請參閱 Numberguess 或 sellitem 示例。
--------
開始使用 Spring Web Flow 的最佳方法之一是檢視和演練示例應用程式。 我們建議從一開始就檢視所有示例,並根據需要補充參考手冊材料。1.0 RC3 版本附帶了十個示例應用程式,每個都展示了不同的產品功能集。 這些示例是:
1. 電話簿 - 展示大多數功能(包括子流程)的原始示例
2. 銷售商品 - 展示帶條件轉換、流程執行重定向、會話作用域和延續的嚮導
3. 流程啟動器 - 展示啟動和恢復流程的所有可能方式
4. 商品列表 - 展示 REST 風格 URL 和內聯流程
5. 運費 - 展示 Spring Web Flow 與 Ajax 技術結合(感謝 Steven Devijver)
6. 猜數字 - 展示有狀態 bean 和“單鍵”流程執行重定向。
7. 生日 - 展示 Struts 整合
8. 檔案上傳 - 展示多部分檔案上傳
9. 電話簿-Portlet - Portlet 環境中的電話簿示例
(請注意流程定義沒有變化)
10. 銷售商品-JSF - JSF 環境中的銷售商品示例
祝您使用愉快!
Spring Web Flow 團隊
Keith Donald