搶先一步
VMware 提供培訓和認證,以加速您的進步。
瞭解更多Spring Web Flow 專案團隊剛剛完成了 Web Flow 2 的第 7 個維護版本。 這是我們迄今為止最好的版本,距離Web Flow 2.0.0 最終版本釋出幾乎正好一年。 現在,隨著 2.0.x 線的成熟和穩定,我們開始著手下一個主要版本。 在本文中,我想回顧過去的一年,並提供一些關於我們前進方向的資訊。
去年釋出 Web Flow 2 時,我們在釋出後的前兩個月看到了 50,000 次下載。 從那時起,我們的論壇流量穩步增長,並且我們在幾個令人興奮的行業中看到了新的採用。 你們中的許多人都知道 Spring Web Flow 是 Orbitz 線上旅遊平臺的基礎,該平臺目前為諸如 ebookers.com 和 nwa.com 等網站提供支援。 如果您一直在關注 2009 年 NBA 季後賽,您也可能會發現 Web Flow 是 nba.com 的重要組成部分。
與所有 Spring 專案一樣,Web Flow 的成功取決於反饋。 與客戶和 SpringSource 支援工程師的現場互動推動了我們去年在 2.0.x 上的大部分工作。 社群在 報告錯誤, 貢獻補丁,突出顯示 使用場景 以及通常討論 方法 專案可以繼續改進。
我想快速回顧一下自 2.0.0.RELEASE 以來所做的一些具體改進
這一個,應用於 2.0.5,由客戶反饋以及 Dan Allen 的 JSFOne 演示 驅動,將典型的 webflow-config.xml 的大小減少了一半,降至約 20 行配置。 正如您所看到的 檢視,這是透過應用萬用字元搜尋流程定義,結合基於流程 ID 將流程定義繫結到 URL 的約定來實現的。
此改進首先提供給 SpringSource 客戶以響應此 安全公告,隨後在 2.0.3 中釋出,允許您按檢視狀態限制允許的模型繫結集。 這是以宣告式風格實現的,如 此處 所示。
Web Flow 最有用的功能之一是 重定向後釋出模式 正常工作,這是使用受控導航獲得良好後退按鈕支援的關鍵先決條件之一。 2.0.5、2.0.6 和 2.0.7 都對此支援進行了後續改進。 最新的改進確保重定向行為在所有場景中都得到一致的應用,包括存在繫結或驗證錯誤時。 您可以在 ViewState.java 的 doEnter 和 doResume 方法中檢視控制此模式執行的原始碼。
社群 弄清楚了 如何將檔案流式傳輸回參與流程的客戶端。 記錄的支援 在 Web Flow 2.0.0 中被忽略,並在 2.0.6 中新增。
從 2.0.2 到 2.0.6,對支援檢視狀態模型繫結的系統進行了大量改進。 該系統提供了 Spring DataBinder 的所有獨特功能,例如支援轉換泛型集合的元素,與 Java PropertyEditors 相比,具有更簡單的型別轉換器 API。
除了這些核心改進之外,我們在過去一年中還看到了一些有趣的 Web Flow 整合,例如 Grails 1.1,ZK RIA 框架,Terracotta,IceFaces,SpringSource 的 richweb 培訓課程,IntelliJ,Skyway Software,以及 第一本 Web Flow 2 書。
我們為未來做了很多計劃。 我會將所有技術細節留到以後再討論,但想總結一下這項工作的一些關鍵主題。 首先,Web Flow 3 將是第一個需要 Java 5 的版本,因為它將以 Spring Framework 3 為基礎構建。 其次,您可以期望看到引入一個 @Flow 模型,該模型補充 Spring MVC 的無狀態 @Controller 模型,並允許將有狀態 Web 流定義為 POJO。 第三,您可以期望 Spring JavaScript 和 Spring Faces 這兩個從 Web Flow 2 工作中發展出來的模組都將提升為頂級 Spring 專案。 Spring JavaScript 將成為 Spring 的官方 Ajax 整合專案,而 Spring Faces 將成為 Spring 的官方 JavaServerFaces 整合專案。
我期待著下週在 SpringOne 與你們中的許多人會面,討論你們應用該專案的經驗和我們未來的方向!