Spring Web Flow 1.0 RC1 已發布

發布 | Keith Donald | 2006 年 5 月 03 日 | ...

Spring Web Flow Logo

親愛的 Spring 社群,

我們非常高興地宣布 Spring Web Flow (SWF) 1.0 RC1 (Release Candidate 1) 已經發布。 下載它

經過一年多的努力開發、29,000 次下載、500 位 論壇使用者發布的 3,700 篇貼文、一本書,以及眾多 社群-驅動 文章,此次發布提供了 Spring Web Flow 的第一個 1.0 發布候選版本。 這個版本被認為適合在生產環境中使用,它鞏固了 1.0 API,該 API 在整個 1.x 系列中將保持向後相容性。

感謝支持我們產品的 Spring Web Flow 早期採用者和擁護者。由於你們的回饋和支持,Spring Web Flow 提供了當今最強大和最具創新性的控制器引擎之一。

Spring Web Flow 團隊預計在 1.0 最終版本之前還會有一個發布候選版本。 1.0 RC1 中的新增和值得注意的功能包括...

新增和值得注意的功能

改進了對管理具狀態業務元件的支援。 Spring Web Flow 現在採用多種技術來管理具狀態的中介層元件實例,這些元件執行業務邏輯作為任務執行的一部分。在大多數情況下,狀態管理是完全透明的。您只需將應用程式狀態儲存在實例變數中,Spring Web Flow 即可在對話範圍內以執行緒安全的方式處理該狀態。

這個支援由簡單的 NumberGuess 範例應用程式說明,其中由流程管理的 "Game" 元件執行遊戲業務邏輯的執行。元件本身對 Spring Web Flow API 沒有任何依賴性。

 為了演示,Game 元件的業務介面可以定義為

Game interface

使用戶執行 Game 的流程定義可能如下所示: 

 Game flow

最後,邏輯 game 動作識別碼和 Game 實作之間的繫結由 Spring 在 game-beans.xml 中進行。

 Game beans

HigherLowerGame 實作也完全與 Spring 和 Spring Web Flow API 解耦。

增強了對流程變數的支援,在流程啟動時自動建立。 流程變數值甚至可以來自後端 bean 工廠,從那裡受益於完全依賴注入。變數的確切範圍是可配置的。

一種新的流程執行重新導向回應類型,用於重新導向到唯一的 "流程執行 URL"。 存取流程執行 URL 會在先前進入的 ViewState 中刷新流程,允許從那裡繼續。只要對話處於活動狀態且繼續點仍然有效,該 URL 就保持有效。這允許充分使用後退、前進、重新整理和新視窗按鈕,而無需頁面快取。

改進了狀態異常處理,並方便地支援過渡執行狀態異常處理常式。 核心過渡元素現在支援 on-exception 屬性,該屬性在發生異常時驅動過渡到新狀態。例如

過渡執行狀態異常處理 

... 如果 placeOrder 方法拋出 AccountException,則將流程轉換為 editAccount 狀態。

改進了流程屬性對應支援。 現在可以為每個流程配置一個 input-mapper,以對應啟動流程的呼叫者提供的輸入。還可以為流程配置一個 output-mapper,以向終止流程的呼叫者公開傳回值。這些增強功能允許將流程重用為頂層流程和子流程,而無需更改,因為輸入和輸出屬性在兩種情況下都一致地對應。

支援動態視圖名稱和目標狀態表達式,允許方便地基於運行時計算 ViewState 的邏輯視圖名稱和過渡的目標狀態。

增強了 JSF 整合。 JSF 整合現在支援邏輯重新導向回應類型,包括 FlowExecutionRedirect、ConversationRedirect、FlowRedirect 和 ExternalRedirect。 此外,FlowPhaseListener 的增強功能允許啟動和刷新流程執行,而無需經歷正式的導航步驟。 預計 1.0 RC2 將增加更多 JSF 便利性和 JSF 在 Portlet 環境中的官方支援。

其他資源和從哪裡開始

Spring Web Flow 1.0 RC1 進一步完善了參考手冊,提供了 50 頁關於 SWF 使用的重點內容。 該手冊可線上獲取 HTMLPDF 格式。

開始使用 Spring Web Flow 的最佳方法之一是查看並演練範例應用程式。 我們建議從一開始就查看所有範例,並根據需要補充參考手冊材料。 九 (9) 個範例應用程式隨 1.0 RC1 版本一起發布,每個範例都展示了一組不同的產品功能。 這些範例是

1. Phonebook - 原始範例,展示了大多數功能(包括子流程)。
2. Sellitem - 展示了一個具有條件過渡、流程執行重新導向、對話範圍和繼續的嚮導。
3. Flowlauncher - 展示了啟動和恢復流程的所有可能方法。
4. Itemlist - 展示了 REST 風格的 URL、到可刷新對話 URL 的對話重新導向和內聯流程。
5. Shippingrate - 展示了 Spring Web Flow 與 Ajax 技術一起使用(感謝 Steven Devijver)
5. NumberGuess - 展示了具狀態的 beans
6. Birthdate - 展示了 Struts 整合。
7. Fileupload - 展示了多部分檔案上傳。
8. Phonebook-Portlet - Portlet 環境中的電話簿範例(請注意流程定義沒有改變)
9. Sellitem-JSF - JSF 環境中的 sellitem 範例(請注意流程定義沒有改變)

要一步構建範例應用程式以進行部署,只需提取發布歸檔,存取 projects/build-spring-webflow 目錄並執行 ant dist 目標。 有關發布歸檔內容和範例的更多資訊,請參閱發布 readme.txt 和 projects/spring-webflow-samples/readme.txt。 所有範例專案現在都是 Spring IDE 專案,可以直接匯入到 Eclipse 中。 請密切關注 Spring IDE 團隊即將推出的 Spring IDE 圖形 Web Flow 編輯器。

感謝所有讓 Spring Web Flow 達到今天成就的人們,包括使用它的人和提供使其更強大的回饋的人。 請享受它!

誠摯地,

Spring Web Flow 團隊

Keith Donald
Erwin Vervaet
Colin Sampaleanu
Juergen Hoeller
Rob Harrop

取得 Spring 電子報

隨時掌握 Spring 電子報的最新資訊

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

取得支援

Tanzu Spring 在一個簡單的訂閱中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部