Spring Web Flow 專案更新

工程 | Keith Donald | 2009年4月20日 | ...

Spring Web Flow 專案團隊剛剛完成了 Web Flow 2 的 第七個維護版本。這是我們迄今為止最好的版本,距離 Web Flow 2.0.0 最終版本釋出 將近一年。現在,隨著 2.0.x 系列走向成熟穩定,我們已經開始著手開發下一個主要版本。在本次更新中,我想回顧過去的一年,並提供一些關於我們未來方向的資訊。

Web Flow 2 的採用情況

去年 Web Flow 2 釋出後,我們在釋出後的頭兩個月內就獲得了 50,000 次下載。從那時起,我們的 論壇流量 穩步增長,並且我們在多個令人興奮的行業中看到了新的應用。許多人都知道 Spring Web Flow 是 Orbitz 線上旅行平臺的基礎,該平臺如今支援 ebookers.comnwa.com 等網站。如果您一直關注 2009 年 NBA 季後賽,您可能會發現 Web Flow 是 nba.com 的重要組成部分,這也很有趣。

我們過去一年的工作

與所有 Spring 專案一樣,Web Flow 的成功離不開使用者反饋。在過去一年裡,與客戶和 SpringSource 支援工程師的現場互動推動了我們 2.0.x 系列的大部分工作。社群在 報告錯誤貢獻補丁、突出 使用場景 以及普遍討論專案可以如何繼續改進 方面 也表現出色。

我想快速回顧一下自 2.0.0.RELEASE 以來做出的一些具體改進:

  • 流 URL 對映的配置簡化和約定

    這項改進在 2.0.5 版本中實現,源於客戶反饋以及 Dan Allen 在 JSFOne 上的演示,它將典型的 webflow-config.xml 檔案大小減半,降至約 20 行配置。正如您在 此處 所見,這是透過應用萬用字元搜尋流定義並結合基於流 ID 的流定義到 URL 的約定來實現的。

  • 顯式檢視狀態模型繫結的支援

    這項改進首先是為了響應此 安全公告 而為 SpringSource 客戶提供的,隨後在 2.0.3 版本中釋出,它允許您限制允許的模型繫結集按檢視狀態進行。這透過此處 展示 的宣告性樣式實現。

  • Post 後重定向改進

    Web Flow 最有用的功能之一就是 Post 後重定向模式 能夠直接工作,這是良好後退按鈕支援和受控導航的關鍵先決條件之一。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 相比,具有更簡單的型別 Converter API。

除了這些核心改進之外,我們還在過去一年中看到了許多有趣的 Web Flow 整合,例如 Grails 1.1ZK RIA 框架TerracottaIceFaces、SpringSource 的 richweb 培訓課程IntelliJSkyway Software 以及 第一本 Web Flow 2 書籍

我們的未來方向

我們對未來有很多計劃。我會留出技術細節供日後討論,但我想總結一下這次努力的一些關鍵主題。首先,Web Flow 3 將是第一個需要 Java 5 的版本,因為它將以 Spring Framework 3 作為其基礎。其次,您可以期待引入一個 @Flow 模型,該模型可以與 Spring MVC 的無狀態 @Controller 模型互補,並允許將有狀態的 Web Flow 定義為 POJO。第三,您可以期待 Spring JavaScript 和 Spring Faces,這兩個模組源於 Web Flow 2 的努力,都將被提升為頂級 Spring 專案。Spring JavaScript 將成為 Spring 的官方 Ajax 整合專案,而 Spring Faces 將成為 Spring 的官方 JavaServerFaces 整合專案。

我期待下週在 SpringOne 上與許多朋友見面,討論您在應用該專案中的經驗以及我們的未來方向!

獲取 Spring 新聞通訊

透過 Spring 新聞通訊保持聯絡

訂閱

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有