Spring Web Flow 1.0 RC4 版本發布

發布 | Keith Donald | 2006 年 10 月 05 日 | ...
親愛的 Spring 社群:
 
我們很高興宣布 Spring Web Flow 1.0 RC4 已經發布。
 

 

Spring Web Flow 是 Spring 社群的產品,專注於協調 Web 應用程式中的使用者介面流程。

此版本包含許多改進和幾個令人振奮的新功能。 我們認為這是迄今為止最穩定的版本,並且最終成為 Spring Web Flow 1.0 最終路線圖功能完整的版本。 Spring Web Flow 1.0 最終版將在下週發布,並進行最小的更改。 在現在到那時之間,我們鼓勵您測試 1.0 RC4,以幫助在大型 1.0 發布之前捕獲任何剩餘的問題。

請注意,此版本中有影響使用者的變更。 1.0 RC3 或更早版本的使用者應查看 升級指南,其中詳細概述了這些變更。

1.0 RC4 中新的和值得注意的內容是一個令人興奮的列表,包括:

新的和值得注意的內容

作為 Spring Web Flow 1.0 最終版之前的最終候選版本,Spring Web Flow 1.0 RC4 引入了強大的新功能,例如渲染動作 (1)、評估動作 (2)、設定動作 (3)、快閃範圍 (4)、流程執行屬性 (5) 和暫停時始終重新導向 (6)。 它提供了增強的文件、更好的流程定義驗證、智慧預設值和完整的自訂 Spring 2.0 設定架構 (7),用於設定流程執行引擎。

  • (1) 渲染動作在渲染回應之前執行應用程式行為。 當要求視窗狀態進行可渲染視窗選擇時,會在進入或由重新導向或瀏覽器重新整理按鈕觸發的重新整理時,調用渲染動作。 以下範例顯示了一個渲染動作,該動作在渲染結果視窗之前執行電話簿的搜尋。

    <view-state id="displayResults" view="searchResults">
        <render-actions>
            <bean-action bean="phonebook" method="search">
                <method-arguments>
                    <argument expression="flowScope.searchCriteria"/>          
                </method-arguments>
                <method-result name="results"/>
            </bean-action>
        </render-actions>
        <transition on="newSearch" to="enterCriteria"/>
        <transition on="select" to="browseDetails"/>
    </view-state>

  • (2) 評估動作針對流程執行狀態評估表達式。 表達式(預設情況下基於 OGNL)可以針對從流程執行的根 RequestContext 可訪問的任何物件,包括任何範圍(例如流程範圍)中的物件。 以下範例顯示了一個評估動作,該動作調用流程範圍的 bean「game」上的「makeGuess」方法
    <action-state id="makeGuess">
        <evaluate-action expression="flowScope.game.makeGuess(requestParameters.guess)">
            <evaluation-result name="guessResult"/>
        </evaluate-action>
        <transition on="CORRECT" to="showAnswer"/>
        <transition on="*" to="enterGuess"/>
        <transition on-exception="java.lang.NumberFormatException" to="enterGuess"/>
    </action-state>
  • (3) 設定動作在範圍類型(例如流程範圍)中設定屬性值。 屬性可以是頂層屬性或巢狀屬性路徑上的屬性。 以下範例顯示了一個設定動作,該動作將快閃範圍中的「fileUploaded」屬性設定為「true」。
    <action-state id="uploadFile">
        <action bean="uploadAction" method="uploadFile"/>
        <transition on="success" to="selectFile">
            <set attribute="fileUploaded" scope="flash" value="true"/>
        </transition>
    </action-state>
  • (4) 快閃範圍是一種新的範圍類型,用於在重新導向和任何視窗重新整理之間持久保存屬性。 當發出訊號通知事件以轉換出視窗時,快閃範圍將被清除。 以下完整的流程定義範例顯示了使用快閃範圍將「fileUploaded」屬性公開給 selectFile 視窗狀態,以便在成功上傳後顯示成功訊息。
    <flow xmlns="http://www.springframework.org/schema/webflow"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.springframework.org/schema/webflow
                                           http://www.springframework.org/schema/webflow/spring-webflow-1.0.xsd">
   
        <start-state idref="selectFile"/>
       
        <view-state id="selectFile" view="fileForm">
            <transition on="submit" to="uploadFile"/>
        </view-state>
   
        <action-state id="uploadFile">
            <action bean="uploadAction" method="uploadFile"/>
            <transition on="success" to="selectFile">
                <set attribute="fileUploaded" scope="flash" value="true"/>
            </transition>
        </action-state>
       
    </flow>
  • (5) 流程執行屬性允許您設定自訂屬性,這些屬性可以影響流程執行行為。 以下範例顯示了在 Portlet 環境中將「alwaysRedirectOnPause」屬性設定為 false 的指令(其中重新導向通常不適用)。
    <flow:executor id="flowExecutor" registry-ref="flowRegistry">
        <flow:execution-attributes>
            <flow:alwaysRedirectOnPause value="false"/>
        </flow:execution-attributes>
    </flow:executor>
  • (6) 「暫停時始終重新導向」使您可以獲得預設的 POST+REDIRECT+GET 行為,而無需進行特殊編碼。 現在,預設情況下,當進入視窗狀態時,會自動發出重新導向。 這會觸發重新整理到流程執行 URL,該 URL 在對話處於活動狀態時保持穩定。
  • (7) 新的 Spring 2.0 設定方言大大簡化了系統設定,並提供了強大的驗證和工具支援。 現在,設定 webflow 的基礎結構就像定義兩個元素一樣簡單,如下面的完整範例所示
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:flow="http://www.springframework.org/schema/webflow-config"
           xsi:schemaLocation="
               http://www.springframework.org/schema/beans
               http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
               http://www.springframework.org/schema/webflow-config
               http://www.springframework.org/schema/webflow-config/spring-webflow-config-1.0.xsd">
   
        <!-- 啟動新的流程執行並恢復現有執行。-->   
        <flow:executor id="flowExecutor" registry-ref="flowRegistry"/>
       
        <!-- 建立此應用程式的流程定義登錄 -->
        <flow:registry id="flowRegistry">
            <flow:location path="/WEB-INF/flows/**-flow.xml"/>
        </flow:registry>
       
    </beans>

有關這些功能的更多資訊,請參閱參考手冊。 Spring Web Flow 1.0 RC4 進一步完善了參考文檔,提供了 70 頁關於 SWF 用法的說明。 該手冊可在線上以 HTMLPDF 格式提供。

開始使用

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

  1. Phonebook - 展示大多數功能的原始範例(包括子流程)
  2. Sellitem - 展示了具有條件轉換、流程執行重新導向、自訂文字欄位格式化和延續的精靈
  3. Flowlauncher - 展示了啟動和恢復流程的所有可能方式
  4. Itemlist - 展示了 REST 樣式的 URL 和內聯流程
  5. Shippingrate - 展示了 Spring Web Flow 與 Ajax 技術的結合
  6. NumberGuess - 展示了有狀態的 Bean、評估動作和「單鍵」流程執行重新導向。
  7. Birthdate - 展示了 Struts 整合
  8. Fileupload - 展示了多部分檔案上傳、設定動作和快閃範圍
  9. Phonebook-Portlet - Portlet 環境中的電話簿範例(請注意流程定義沒有變化)
  10. Sellitem-JSF - JSF 環境中的 sellitem 範例

若要建立範例應用程式以進行快速評估,只需

  1. 解壓縮 spring-webflow-1.0-rc4.zip 發布封存檔
  2. 存取 projects/spring-webflow/build-spring-webflow 目錄
  3. 執行「ant dist」目標。
  4. 請參閱「target/artifacts」目錄,以取得每個範例的可部署 .war 檔案以及展開的 war 目錄。
有關發布封存檔內容和範例的更多資訊,請分別參閱發布 readme.txt 和 projects/spring-webflow/spring-webflow-samples/readme.txt。

所有範例專案都是可以直接匯入 Eclipse 的 Spring IDE 專案。

感謝所有支援此版本的社群成員。 Spring Web Flow 1.0 現在... 終於... 指日可待。

祝您使用愉快!

Spring Web Flow 團隊

取得 Spring 電子報

訂閱 Spring 電子報,隨時掌握最新資訊

訂閱

領先一步

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

了解更多

取得支援

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

了解更多

即將舉行的活動

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

查看全部