1. 程式人生 > >Spring系列學習之Spring Web Flow

Spring系列學習之Spring Web Flow

英文原文: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

Reference API

2.4.5

Reference API

示例

spring-webflow-samples repository