Spring Web Flow 1.0 RC1 釋出

釋出 | Keith Donald | 2006年5月3日 | ...

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 flow

最後,邏輯 game 動作識別符號與 Game 實現之間的繫結由 Spring 在 game-beans.xml 中完成。

 Game beans

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

增強了對流程變數的支援,這些變數在流程啟動時自動建立。  流程變數的值甚至可以來源於後備 bean 工廠,從而受益於其中的完整依賴注入。  變數的確切範圍是可配置的。

新增了一種流程執行重定向響應型別,用於重定向到唯一的“流程執行 URL”。  訪問流程執行 URL 會在之前進入的 ViewState 重新整理 流程,允許從那裡繼續。  在會話處於活動狀態且繼續點有效時,URL 保持有效。  這允許在沒有頁面快取的情況下完全使用後退、前進、重新整理和新視窗按鈕。

狀態異常處理方面的改進,提供了方便的轉換執行狀態異常處理程式支援。  核心 transition 元素現在支援一個 on-exception 屬性,該屬性在發生異常時驅動轉換到新狀態。  例如

轉換執行狀態異常處理 

... 如果 placeOrder 方法丟擲 AccountException,則將流程轉換到 editAccount 狀態。

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

支援動態檢視名稱和目標狀態表達式,分別允許方便地基於執行時計算 ViewState 的邏輯檢視名稱和轉換的目標狀態。

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

附加資源和入門方法

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

開始使用 Spring Web Flow 的最佳方法之一是檢視和演練示例應用程式。  我們建議從一開始就檢視所有示例,並根據需要補充參考手冊材料。  1.0 RC1 版本附帶了九 (9) 個示例應用程式,每個應用程式都演示了一組獨特的產品功能。  這些示例包括

1. Phonebook - 演示了大多數功能(包括子流程)的原始示例。
2. Sellitem - 演示了一個帶有條件轉換、流程執行重定向、會話範圍和繼續功能的嚮導。
3. Flowlauncher - 演示了啟動和恢復流程的所有可能方法。
4. Itemlist - 演示了 REST 風格的 URL、到可重新整理會話 URL 的會話重定向以及內聯流程。
5. Shippingrate - 演示了 Spring Web Flow 與 Ajax 技術結合使用(感謝 Steven Devijver)
5. NumberGuess - 演示了有狀態 bean
6. Birthdate - 演示了 Struts 整合。
7. Fileupload - 演示了多部分檔案上傳。
8. Phonebook-Portlet - Portlet 環境中的 phonebook 示例(請注意流程定義如何沒有改變)
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 社群的所有近期活動。

檢視全部