Spring 2.0 RC2 釋出

版本釋出 | Juergen Hoeller | 2006 年 7 月 6 日 | ...

親愛的 Spring 社群,

我們很高興地宣佈 Spring 2.0 RC2 已釋出。  下載 | 文件 | 變更日誌

這是 Spring 2.0 正式版之前的第二個釋出候選版。它引入了一些錯誤修復和細微改進,特別是在 AOP 框架和 JPA 支援方面。詳情請參閱變更日誌。未來的 2.0 RC3 版本將解決更多已知問題;詳情請參閱我們的 JIRA 路線圖。

請使用您的應用程式嘗試此版本,並告知我們您可能遇到的任何問題!重要的是要強調,Spring 2.0 提供與 Spring 1.x 系列的向後相容性。  Spring 2.0 也繼續支援 JDK 1.3+J2EE 1.3+(甚至 J2EE 1.2+,但 JSP 標籤和 EJB 支援除外)。相容性對我們的使用者群至關重要,我們致力於提供相容性。因此,我們也樂於瞭解在任何此類平臺上可能出現的相容性問題。

感謝所有在此版本釋出前提供的反饋。  我們期待在 2.0 GA 大版本釋出日期之前獲得更多類似反饋!

敬上,

Juergen Hoeller
Spring 2.0 產品開發負責人

Spring Web Flow 1.0 RC3 釋出

版本釋出 | Keith Donald | 2006 年 6 月 26 日 | ...
 

親愛的 Spring 社群,

我們很高興地宣佈 Spring Web Flow (SWF) 1.0 RC3(釋出候選版 3)已釋出。  下載 | 文件 | 變更日誌

這個穩定版本包含錯誤修復和少量改進。   目前,我們預計這是 Spring Web Flow 1.0 最終版本釋出前的最後一個釋出候選版,最終版即將到來。  值得注意的包括...

值得注意的改進

改進的流異常層次結構。  總的來說,異常層次結構現在更清晰地組織了從流定義訪問(FlowLocatorException)到執行時流執行(FlowExecutionException)和執行持久化(FlowExecutionRepositoryException)的故障類別。

 

改進的 Portlet 環境中後退按鈕支援。  結合基於延續的倉庫,SWF 在 Portlet 環境中完全支援瀏覽器導航按鈕(後退、重新整理)的使用,同時流保持活動狀態。  當流執行終止時,瀏覽器重新整理將自動觸發一個新的執行。

更簡單的預設 JSF 檢視對映。  現在,預設情況下,SWF 檢視名稱應與 JSF 檢視 ID 完全對應。您可以在 sellitem-jsf 示例中看到此預設設定的作用——請注意檢視如何像標準 JSF 導航處理程式一樣引用 "/priceAndItemCountForm.jsp"。  這允許自然地支援其他 JSF 檢視技術(如 Facelets),並且對於 JSF 開發人員來說是一個更自然的預設設定。  如果您需要自定義 SWF 到 JSF 檢視的對映,請將自定義的 ViewIdMapper 插入您的 FlowPhaseListener。

示例應用簡化。  我們簡化了 fileupload、flowlauncher、birthdate 和 sellitem 示例,以利用 Spring Web Flow 的最新特性和最佳實踐。

潛在影響使用者的變更

在通往 1.0 最終版本的道路上,1.0 RC3 有一些潛在的影響使用者的變更。  下面這部分將對此進行說明

為了簡化,移除了 FormAction 屬性 "validateUsingValidatorMethod"。  經驗表明,這個屬性對於新使用者來說是一個困惑的來源。  一個更好的替代方案是,如果需要執行資料繫結操作而不進行驗證,只需從您的流定義中呼叫 "bind" 動作方法。  當您需要分階段的 Validator 驗證時,只需呼叫 "bindAndValidate" 或 "validate",並將 "validatorMethod" 屬性設定為特定的驗證方法。  請參閱 sellitem 示例。

StateExceptionHandler 重新命名為 "FlowExecutionExceptionHandler"。 這會影響自定義處理程式的實現。  要升級,只需實現新介面即可;簽名在邏輯上是相同的。

FlowExecutorImpl 的 "redirectOnPause" 屬性現在接受布林值而不是 RedirectType 列舉。  從 1.0 RC2 起,SWF 中只有一種重定向型別——流執行重定向。  將此標誌設定為 'true' 會在每次流執行透過進入檢視狀態暫停時觸發它。  請參閱 Numberguess 或 sellitem 示例。
--------

開始使用 Spring Web Flow 的最佳方法之一是回顧和演練示例應用。  我們建議從一開始就回顧所有示例,並根據需要補充參考手冊材料。1.0 RC3 版本附帶了十個示例應用,每個都演示了不同的產品功能集。  這些示例是

1. Phonebook - 最初的示例,演示了大多數功能(包括子流)
2. Sellitem - 演示了一個帶有條件轉換、流執行重定向、會話作用域和延續的嚮導
3. Flowlauncher - 演示了啟動和恢復流的所有可能方式
4. Itemlist - 演示了 REST 風格的 URL 和內聯流
5. Shippingrate - 演示了 Spring Web Flow 與 Ajax 技術結合使用(感謝 Steven Devijver)
6. NumberGuess - 演示了有狀態 bean 和“單一鍵”流執行重定向。
7. Birthdate - 演示了 Struts 整合
8. Fileupload - 演示了多部分檔案上傳
9. Phonebook-Portlet - Portlet 環境中的電話簿示例
(注意流定義沒有改變)
10. Sellitem-JSF - JSF 環境中的 sellitem 示例

愉快!

Spring Web Flow 團隊

Keith Donald
Erwin Vervaet
Juergen Hoeller
Colin Sampaleanu
Rob Harrop

Spring 2.0 RC1 釋出

版本釋出 | Juergen Hoeller | 2006 年 6 月 21 日 | ...

親愛的 Spring 社群,

我們很高興地宣佈 Spring 2.0 RC1 已釋出。  下載 | 文件 | 變更日誌

這是 Spring 2.0 在過去六個月內的五個里程碑版本之後的第一個釋出候選版。這個穩定版本正在等待廣泛的使用者反饋,以便向定於 7 月初發布的 2.0 最終版邁進。

Spring 2.0 的主要新主題是

  1. 簡化的配置 - 您會發現配置應用程式所需的總程式碼量大大減少。  您編寫的程式碼是高階的、特定於領域的,受益於智慧預設設定以及豐富的驗證和工具支援。

  2. 強大的 AOP 統一 - 您可以使用 AspectJ 簡潔地將切面織入到物件之前、之後和周圍,同時仍然受益於 Spring AOP 執行時的簡單性。

  3. JSR 220 Java 持久化架構 (JPA) - 為您提供持久化提供程式實現的選擇。  Spring 是第一個在 JEE 和 JSE 環境中都支援 JPA 的框架,並且兩者之間具有完全的可移植性。

  4. 非同步 JMS 訊息傳遞 - 訊息驅動 POJO 為 JSE 環境帶來了輕量級的非同步元件,並提供了 JMS 提供程式的選擇。

  5. JSR-168 Portlets - Spring Portlet MVC 提供了一個用於開發 JSR 168 portlet 的框架,其中包括與 Spring Web Flow 整合以協呼叫戶互動。

重要的是要強調,Spring 2.0 提供與 Spring 1.x 系列的向後相容性。  相容性對我們的使用者群至關重要,我們致力於提供相容性。

這些領域的更多主要新特性包括...

配置簡化
  • 基於 XML schema 的 bean 定義,以及開箱即用的 XML 名稱空間,用於簡化常見配置任務
  • 支援應用上下文中的擴充套件 bean 作用域,主要目標是 web 請求和會話作用域
  • Bean 定義增強:bean 類的延遲載入、集合合併以及智慧錯誤訊息
AOP
  • 基於 XML schema 名稱空間的簡化 AOP 配置
  • 支援 AspectJ 切點表示式語言和 @AspectJ 風格的切面
  • 支援對任何物件(包括細粒度領域物件)的依賴注入(基於 AspectJ)
持久化和 JPA
  • 增強的 JDBC 支援:命名 SQL 引數,基於泛型的 SimpleJdbcTemplate
  • 明確支援 Hibernate 3.1 和 3.2(同時保持與 Hibernate 3.0 相容)
  • 支援 Java 持久化 API (JPA),包括完整的容器契約和類 instrumentaion
排程和訊息傳遞
  • 用於提交非同步工作的 TaskExecutor 抽象
  • 支援各種執行緒池,例如 Java 5 ThreadPoolExecutor 和 CommonJ WorkManager
  • 基於訊息監聽容器的非同步 JMS 支援(“訊息驅動 POJO”)
Web 應用開發
  • 基於約定的 web MVC:控制器對映、模型屬性名稱
  • 用於 Spring Web MVC 和 Spring Web Flow 的 JSP 表單標籤庫
  • 完全支援 Portlet 環境,包括基於 DispatcherPortlet 的 Portlet 風格 MVC

... 以及許多許多細節方面的改進。

要檢視其中許多功能的實際應用,請查閱釋出分發包中 samples/jpetstore 目錄下的 JPetstore 參考應用。  有關更多詳細資訊,請參閱參考文件的2.0 中的新特性?部分。

我們將在未來幾天與 Maven2 社群合作,將 2.0 RC1 上傳到 Maven 倉庫。

感謝 Spring 社群為本次釋出提供的所有反饋。  我們期待您在 2.0 GA 大版本釋出日期前提供更多反饋!

祝好, 

Juergen Hoeller
Spring 2.0 產品開發負責人

Spring Web Services 1.0 M1 釋出

版本釋出 | Arjen Poutsma | 2006 年 6 月 12 日 | ...

親愛的 Spring 社群,

我很高興宣佈 Spring Web Services 1.0 M1 已釋出。 下載 | 文件 | 變更日誌

此版本是 Spring-WS 的第一個里程碑:這是 Spring 社群的一款產品,專注於建立文件驅動的 Web 服務。

Spring-WS 1.0 M1 包括

  • 基於 Apache Axiom 的流式 SOAP 訊息模型,
  • 與 Acegi 整合的 WS-Security 支援,
  • JAXB 2.0 marshaller 支援,
  • 自 0.9.1 以來發現的許多問題的進一步改進和修復。

詳情請參閱變更日誌

有關 Spring-WS 及其目標的更多資訊,請參閱Spring-WS 主頁

Spring Web Flow 1.0 RC2 釋出

版本釋出 | Keith Donald | 2006 年 6 月 10 日 | ...


 

親愛的 Spring 社群,

我們很高興地宣佈 Spring Web Flow (SWF) 1.0 RC2(釋出候選版 2)已釋出。  下載 | 文件 | 變更日誌

此版本包含錯誤修復和少量改進。   1.0 RC2 的新特性和值得注意的變化包括...

新特性和值得注意的變化

支援以可配置方式將新啟動的流執行的輸入從其呼叫環境中傳遞。  預設情況下,所有請求引數都作為輸入公開。  流可以使用其輸入對映器將此輸入對映到其本地作用域。  此對映器定義了流的輸入契約,無論流是作為頂層流  還是作為子流啟動,該契約都是一致的。

考慮以下請求 URL 作為示例

https://:8080/flights/search-flow?flightNumber=12345

預設情況下,訪問此 URL 時,支援的 FlowExecutor 會將 "flightNumber" 請求引數放入一個“輸入對映”中。  然後,輸入對映被傳遞給 "search-flow" 的新執行。

在 search-flow 定義中

<flow start-state="executeSearch">
    <input-mapper>
        <mapping source="flightNumber" target="flowScope.flightNumber"/>
    </input-mapper>

    ...
</flow>
上面的 <input-mapper> 定義了流的輸入契約,宣告此流支援一個 "flightNumber" 輸入屬性。  啟動時如果提供了 flightNumber,它將被對映到 "flowScope" 下的 "flightNumber" 名稱。  對映器還能夠在對映操作期間執行型別轉換。

要自定義流執行輸入對映的填充,例如,從請求路徑或其他外部源拉取屬性,請配置 "FlowExecutorImpl.inputMapper" 屬性。

支援在 JSR168 Portlet 環境中的流執行和外部重定向。  結合基於延續的倉庫,這允許在 Portlet 環境中使用瀏覽器導航按鈕(後退、重新整理)。  此外,在 Portlet 環境中,我們現在公開了一個 "globalSessionMap" 屬性,用於訪問 Portlet Session APPLICATION_SCOPE 中的屬性。

一個名為 "SingleKeyFlowExecutionRepositoryFactory" 的新倉庫工廠。 此實現為每個持久化的流執行生成一個唯一的識別符號。  這對於實現 1.0 EA 的“會話重定向”語義很有用——即在每次 POST 後,REDIECT-GET 會命中一個穩定的“流執行 URL”,該 URL 中嵌入了常量流執行鍵。  請參閱 NumberGuess 示例進行說明。

引入了一個獨立的“會話”子系統,提供的流執行倉庫實現將邏輯會話的劃分委託給它,用於管理流執行狀態。  這個會話子系統與 Spring Web
Flow 的其餘部分完全解耦,可以在 SWF 之外使用,並可能隨著時間演變為獨立的模組。 
核心服務介面包括

public interface ConversationService {
    public Conversation beginConversation(ConversationParameters parameters);
    public Conversation getConversation(ConversationId id);
    public ConversationId parseConversationId(String encodedId);
}


public interface Conversation {
    public ConversationId getId();
    public void lock();
    public void end();
    public Object getAttribute(String name);
    public void setAttribute(String name, Object value);
    public void removeAttribute(String name);
    public void unlock();
}
當啟動一個新的流執行並且需要在一個請求之外持久化時,倉庫會呼叫 "beginConversation" 來啟動一個新的邏輯
會話,並將屬性放入會話作用域以跟蹤執行狀態。  同樣,當流執行結束時,主導的會話也結束,並且清理所有分配的狀態。

將來,我們希望在此係統中提供強大的功能,包括透過 JMX 進行會話監控和管理,以及會話歷史記錄和統計資訊。  我們還希望證明它適用於 Spring Web Flow 之外的其他環境。  特別感謝 Juergen Hoeller 和 Ben Hale 在設計這個可移植會話服務抽象方面的幫助。


潛在影響使用者的變更

在通往 1.0 最終版本的道路上,1.0 RC2 有一些潛在的影響使用者的變更。  以下部分對此進行說明

在 spring-webflow-dtd 中,我們將 '<action/>' 元素的屬性 'resultName' 和 'resultScope' 分別重新命名為 'result-name' 和 'result-scope',以便與其他屬性和元素名稱保持一致。

為了簡化,移除了 FormAction 屬性 "bindOnSetupForm" 和 "validateOnBinding"。  經驗表明這些屬性很少使用,並且對於新使用者來說一直是混淆的來源。  一個更好的替代方案是,要在進入檢視狀態之前執行資料繫結操作,只需從您的流定義中呼叫 "bind" 動作方法。  要計算 bindAndValidate 嘗試是否應該進行驗證,請覆蓋唯一的 "validationEnabled(RequestContext)" 鉤子。

移除了 FormAction 的 "exposeFormObject" 動作方法。  只需使用更推薦的 "setupForm"。

簡化了 FlowExecutionRepository 和 FlowExecutor SPI 介面。  現在,更多的邏輯封裝在 FlowExecutionRepository 之後,包括生成的 FlowExecutionKeys 的結構和格式。  此外,FlowExecutionRepository 現在嚴格負責管理持久化的流執行,不再負責其他任何事情。  SWF 核心不再知道“會話”的額外概念。  這意味著幾件事

  • 整體倉庫介面更簡單,更容易建立帶有自定義 FlowExecutionKeys 的自定義 FlowExecutionRepositories。
  • SWF 核心詞彙更強:流執行器呼叫流執行來執行流。  在一個請求之外保持活動的執行會持久化到倉庫中。
  • 預設的倉庫實現選擇委託給一個獨立的“會話子系統”來跟蹤由執行系統驅動的會話狀態,但對該系統的依賴是完全封裝的並且是可選的。

FlowExecutor 介面,即進入 SWF 的入口點,也為呼叫者進行了簡化。  它現在封裝了對複雜內部型別(如)的瞭解
EventIds 和 FlowExecutionKeys,因此總體上更容易使用。

同樣地,移除了對顯式“會話重定向”的支援。  這意味著移除了 "conversationRedirect:" 的
'view' 字首和 "CONVERSATION" RedirectType。  要在 1.0 RC2 中實現相同的邏輯重定向語義,只需配置一個 FlowExecutor,其 redirectOnPause 型別為 FLOW_EXECUTION,並使用以下 repositoryFactory:
SingleKeyFlowExecutionRepositoryFactory。
--

Spring Web Flow 1.0 RC2 進一步完善了參考手冊,提供了 50 頁關於 SWF 用法的內容。  手冊可在網上以 HTML 和 PDF 格式獲取。

開始使用 Spring Web Flow 的最佳方法之一是回顧和演練示例應用。  我們建議從一開始就回顧所有示例,並根據需要補充參考手冊材料。1.0 RC2 版本附帶了十個示例應用,每個都演示了不同的產品功能集。  這些示例是

1. Phonebook - 最初的示例,演示了大多數功能(包括子流)
2. Sellitem - 演示了一個帶有條件轉換、流執行重定向、會話作用域和延續的嚮導
3. Flowlauncher - 演示了啟動和恢復流的所有可能方式
4. Itemlist - 演示了 REST 風格的 URL 和內聯流
5. Shippingrate - 演示了 Spring Web Flow 與 Ajax 結合使用
技術(感謝 Steven Devijver)
6. NumberGuess - 演示了有狀態 bean 和“單一鍵”流
執行重定向。
7. Birthdate - 演示了 Struts 整合
8. Fileupload - 演示了多部分檔案上傳
9. Phonebook-Portlet - Portlet 環境中的電話簿示例
(注意流定義沒有改變)
10. Sellitem-JSF - JSF 環境中的 sellitem 示例

要一步構建示例應用以進行部署,只需解壓釋出存檔,訪問 projects/spring-webflow/build-spring-webflow 目錄並執行 "ant dist" 目標。  請參閱釋出版本的 readme.txt 和
projects/spring-webflow/spring-webflow-samples/readme.txt,分別瞭解有關釋出存檔內容和示例的更多資訊。
所有示例專案都是可直接匯入 Eclipse 的 Spring IDE 專案。

感謝所有支援此版本的人。  目前,我們預計 SWF 的下一個版本將是針對 6 月下旬的 1.0 最終版
時間框架。  如果有必要,仍然有可能釋出另一個 1.0 釋出候選版。  請務必關注 SWF 主頁和
論壇以獲取更新。

愉快!

Spring Web Flow 團隊

Spring Web Flow 1.0

版本釋出 | Keith Donald | 2006 年 6 月 10 日 | ...

 

產品負責人
Keith Donald, SpringSource
Erwin Vervaet, Ervacon
 
Spring Web Flow 是下一代 Java Web 應用控制器框架,它允許開發者將使用者操作建模為稱為流(flow)的高階模組,這些模組可以在任何環境中執行。  該框架提高了生產力和可測試性,同時為強制執行導航規則和管理應用程式狀態提供了強大的解決方案。  

整體檢視

Spring Web Flow 允許開發者構建可重用、自包含的…

Spring IDE 1.3.1 釋出

版本釋出 | Torsten Juergeleit | 2006 年 6 月 8 日 | ...

親愛的 Spring 社群,

我們很高興地宣佈 Spring IDE 1.3.1 已釋出。

此版本的 Spring IDE 提供了大量錯誤修復。完整列表請訪問 http://springide.org/project/milestone/Release%201.3.1

變更

  • 現在只有在您想使用 Web Tools 時才需要 BeansXmlEditor
  • 修復了影像快取中的資源洩漏
  • 更新到 Spring 1.2.8

更多詳細資訊可從專案網站獲取 http://springide.org/

使用 Eclipse 的更新管理器從專案更新站點 安裝 此版本 http://springide.org/updatesite/

提交錯誤報告工單可在…

Acegi Security 1.0.0 已釋出

版本釋出 | Ben Alex | 2006 年 5 月 30 日 | ...

經過兩年半多的開發,我很高興宣佈 Acegi Security 1.0.0 現已正式釋出。

下載 | 文件 | 變更日誌 

除了自 1.0.0 RC2 以來的 80 多項改進和修復之外,這個新版本還包含了一些旨在幫助新使用者的變更。這包括對參考指南進行了重大重組和擴充套件(現在已超過 90 頁),以及一個新的“精簡版”教程示例應用。

此外,許多新使用者經常遇到的問題也得到了解決,例如

  • 自定義 403 訊息(而不是使用 Servlet 容器的錯誤處理程式)
  • 檢測 XML 檔案重新格式化後損壞的屬性輸入
  • 一個新的登出過濾器。 

我們還重構了 LDAP 服務,使 SecurityContextHolder 成為一個可插拔策略(對於希望避免 ThreadLocal 的富客戶端特別有用),並改進了 CAS 支援。

請訪問此處檢視詳細的變更日誌。一如既往,釋出 ZIP 檔案中包含詳細的升級說明。

專案網站 http://acegisecurity.org 提供了關於 Acegi Security 功能的額外資訊、線上文件訪問以及最新版本下載連結。下個月我將在 SpringOne 會議上進行 Acegi Security 的演示,期待在那裡見到您。

Spring Framework 1.2.8 釋出

版本釋出 | Juergen Hoeller | 2006 年 5 月 8 日 | ...

親愛的 Spring 社群,

我們很高興宣佈 Spring 1.2.8 已釋出。 下載 | 文件 | 變更日誌

這是一個維護版本,修復了之前 1.2.x 版本中發現的一些問題。這些修復大部分已從 2.0 M4 反向移植,因此在那裡已經可用。詳情請參閱變更日誌

Juergen
-----
Juergen Hoeller
Spring Framework 開發負責人
Interface21 首席架構師
http://www.springframework.org
http://www.interface21.com

Spring Web Flow 1.0 RC1 釋出

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

Spring Web Flow Logo

親愛的 Spring 社群,

我們非常高興地宣佈 Spring Web Flow (SWF) 1.0 RC1(釋出候選版 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 保持有效。  這允許完全使用後退、前進、重新整理和新視窗按鈕,而無需頁面快取。

狀態異常處理的改進,提供方便的支援以執行狀態異常處理程式。 核心過渡元素現在支援 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 環境中的電話簿示例(請注意,流定義沒有改變)
9. Sellitem-JSF - JSF 環境中的 Sellitem 示例(請注意,流定義沒有改變)

要一步構建示例應用程式以進行部署,只需提取發行版存檔,訪問 projects/build-spring-webflow 目錄並執行 ant dist 目標。 有關發行版存檔內容和示例的更多資訊,請分別參閱 release readme.txt 和 projects/spring-webflow-samples/readme.txt。 所有示例專案現在都是 Spring IDE 專案,可以直接匯入 Eclipse。 敬請期待 Spring IDE 團隊即將推出的 Spring IDE 圖形化 Web 流編輯器。

感謝所有使用 Spring 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 社群的所有近期活動。

檢視全部