領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多Spring Web Flow 構建於 Spring MVC 之上,並允許實現 Web 應用程式的“流程”。流程封裝了一系列步驟,這些步驟引導使用者完成某些業務任務的執行。它跨越多個 HTTP 請求,具有狀態,處理事務資料,可重用,並且本質上可能是動態和長期執行的。
Spring Web Flow 的最佳應用場景是具有受控導航的有狀態 Web 應用程式,例如航班值機、貸款申請、購物車結賬,甚至是表單的確認步驟。這些場景的共同點是具有以下一個或多個特徵:
有明確的起點和終點。
使用者必須按特定順序瀏覽一系列螢幕。
更改在最後一步完成之前不會最終確定。
一旦完成,不應意外重複交易。
Spring Web Flow 提供了一種宣告式流程定義語言,用於在更高的抽象級別編寫流程。它允許在不改變(流程程式設計模型)的情況下整合到各種應用程式中,包括 Spring MVC、JSF,甚至是 Portlet Web 應用程式。以下是具有導航要求的有狀態 Web 應用程式中常見的觀察到的問題:
流程視覺化非常困難。
應用程式有大量程式碼訪問 HTTP 會話。
強制受控導航很重要,但無法實現。
適當的瀏覽器回退按鈕支援似乎遙不可及。
瀏覽器和伺服器在使用“回退”按鈕時失去同步。
多個瀏覽器選項卡導致 HTTP 會話資料併發問題。
Spring Web Flow 為上述問題提供瞭解決方案。
要使用 Spring Web Flow,請將以下依賴項新增到您的應用程式中。
Maven
<dependencies>
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>spring-webflow</artifactId>
<version>{version}</version>
</dependency>
</dependencies>
Gradle
dependencies {
compile 'org.springframework.webflow:spring-webflow:{version}'
}