親愛的Spring社群,
我們很高興地宣佈 Spring Web Flow 2 正式上市。 下載 | 文件
Spring Web Flow 是 Spring Portfolio 中專注於提供構建和執行富 Web 應用程式的基礎設施的專案。作為 Spring 專案,Web Flow 基於 Spring Web MVC 框架提供:
- 用於定義可重用控制器模組的特定領域語言,稱為 flows
- 用於管理對話狀態的高階控制器引擎
- 用於使用 Ajax 構建富使用者介面的一流支援
- 用於結合 Spring 使用 JavaServerFaces 的一流支援
Web Flow 2 發行版的模組及其與 Spring Framework 的關係如下所示:
Web Flow 2 的內容
Spring Web MVC
Spring Web MVC 框架是 Spring Framework 發行版的模組,它使用經過驗證的模型檢視控制器(MVC)範例為使用 Spring 開發 Web 應用程式提供了基礎。Web Flow 發行版的每個模組都建立在這個基礎上。
Spring Web Flow
Web Flow 模組是 MVC 的擴充套件,允許您使用 特定領域語言 定義控制器。這種語言旨在模擬需要多次伺服器請求才能完成的使用者互動,或者可以從不同上下文呼叫。
Spring JavaScript
Spring JavaScript 是一個 JavaScript 抽象框架,可以輕鬆編寫非侵入性 JavaScript,以逐步增強網頁的行為。該框架包含一個公共 JavaScript API 以及一個基於 Dojo Toolkit 的實現。Spring.js 旨在簡化常見企業場景中 Dojo 的使用,同時保留其在高階用例中的全部功能。
Spring JavaScript 可以與任何伺服器端框架協同工作。Web Flow 2 發行版包括 Spring JavaScript 和 Spring Web MVC 之間方便的整合,用於處理 Ajax 請求。
Spring Faces
Spring Faces 模組包含 Spring 對 JavaServerFaces 的支援。這種支援允許您在熟悉的 Spring MVC 和 Web Flow Controller 環境中使用 JSF 作為檢視技術。透過這種架構方法,您可以結合 JSF UI 元件模型的優勢和 Web MVC 架構的優勢。Spring Faces 還包含一個基於 Spring JavaScript 的輕量級元件庫,用於以漸進的方式宣告式地啟用 Ajax 和客戶端驗證行為。
Web Flow 2 發行版的主題
除了引入新的 Spring Faces 和 Spring Javascript 模組外,Web Flow 2 發行版還解決了兩個主要主題:整合和簡潔性。
整合
在所有模組中,Web Flow 2 發行版都增加了許多有趣的整合,讓您可以豐富您的 Web 應用程式。這些整合支援:
- 使用 Spring Security 以宣告式的方式保護您的 flows
- 使用 Tiles 進行 JSP 頁面組合和 Ajax 部分渲染
- 在使用 JSF 時,使用 Facelets 進行頁面組合和佈局
- 在使用 JSF 時,使用 Apache Trindad 和 JBoss RichFaces 元件庫
- 以漸進且非侵入性的方式使用 Dojo 部件系統;如果客戶端沒有 JavaScript,則會優雅降級。
簡潔性
Web Flow 2 中的 flow 定義語言得到了極大的簡化,同時整體功能也更加強大。這些簡化包括:
- 與版本 1 的 flow 定義相比,版本 2 的 flow 定義的程式碼行數總體減少了約 50%(示例:版本 2 對比 版本 1)
- 使用表示式語言(EL)呼叫操作的簡潔語法,支援 Unified EL 和 OGNL
- 宣告式的模型繫結和驗證,支援約定優於配置
- 透過 flow 定義繼承,在 flow 和 state 級別上支援重用
- 增強的模組化,允許將 flow 及其依賴資源打包成一個獨立的單元
釋出說明
- Web Flow 2 需要 Java 1.4 或更高版本,並在所有主流 Java EE 平臺(包括 Tomcat、Jetty、Websphere、WebLogic 和 JBoss)上執行。
- Web Flow 2 需要 Spring Framework 2.5.4 或更高版本。
入門
其他社群資源
- 閱讀 SpringSource 的 Keith Donald 和 Jeremy Grelle 的 訪談,詳細瞭解 Web Flow 2 發行版的新特性。
- 觀看 Ajaxian.com 的 訪談,其中與 Dion Almaer 討論了發行版和 Spring JavaScript。
- 如果您是現有的 Web Flow 1 使用者,請查閱 遷移指南 以幫助您升級到 Web Flow 2。WebFlowUpgrader 工具可以自動將您的 flows 轉換為版本 2 語法。
- 透過 訂閱 springframework.org 以獲取有關 Web Flow 2 的未來文章。