Spring系列學習之Spring Web Flow
阿新 • • 發佈:2018-12-23
英文原文:https://projects.spring.io/spring-webflow/
目錄
Spring Web Flow構建於Spring MVC之上,允許實現Web應用程式的“流程”。 流程封裝了一系列步驟,指導使用者執行某些業務任務。 它跨越多個HTTP請求,具有狀態,處理事務資料,可重用,並且可能是動態的,並且本質上是長期執行的。
Spring Web Flow的最佳位置是具有受控導航功能的有狀態Web應用程式,例如辦理登機手續,申請貸款,購物車結帳,甚至向表單新增確認步驟。 這些場景的共同點是以下一個或多個特徵:
- 有一個明確的開始和結束點。
- 使用者必須按特定順序瀏覽一組螢幕。
- 直到最後一步,更改才會完成。
- 一旦完成,就不可能意外地重複交易
快速開始
在專案中使用spring-webflow的推薦方法是使用依賴關係管理系統 - 下面的程式碼段可以複製並貼上到您的構建中。 需要幫忙? 請參閱我們的Maven和Gradle構建入門指南。(導航到英文原文可選擇版本和依賴方式)
Maven
<dependencies> <dependency> <groupId>org.springframework.webflow</groupId> <artifactId>spring-webflow</artifactId> <version>2.5.0.RELEASE</version> </dependency> </dependencies>
Gradle
dependencies {
compile 'org.springframework.webflow:spring-webflow:2.5.0.RELEASE'
}
Spring Web Flow提供了一種宣告性流定義語言,用於在更高級別的抽象上創作流。 它允許將它整合到各種應用程式中,而無需對流程程式設計模型進行任何更改(包括Spring MVC,JSF,甚至Portlet Web應用程式)。 以下是在具有導航要求的有狀態Web應用程式中觀察到的常見問題:
- 視覺化流程非常困難。
- 應用程式有很多程式碼訪問HTTP會話。
- 實施受控導航很重要,但不可能。
- 正確的瀏覽器後退按鈕支援似乎無法實現。
- 瀏覽器和伺服器與“後退”按鈕使用不同步。
- 多個瀏覽器選項卡會導致HTTP會話資料出現併發問題。
Spring Web Flow為上述問題提供瞭解決方案。
版本
Release
Documentation
2.5.0
2.4.5
示例
spring-webflow-samples repository