程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Spring Web Flow 2.0入門 - 購物車用例

Spring Web Flow 2.0入門 - 購物車用例

編輯:關於JAVA

要了解 Spring Web Flow 是什麼東西,最好的辦法莫過於查看示例,圖 2 展示了一個簡化的購物車的流程。

圖 1 購物車示例

 

圖 2 所示流程用 Spring Web Flow 2.0 的配置文件表示如下:

清單 1 用 Spring Web Flow 語義表達購物車流程

……
<flow>
<view-state id="viewCart">
<transition on="submit" to="viewOrder"/>
</view-state>
<view-state id="viewOrder">
<transition on="confirm" to="viewConfirmed"/>
</view-state>
<view-state id="viewConfirmed">
<transition on="returnToIndex" to="returnToIndex"/>
</view-state>
<end-state id="returnToIndex"/>
</flow>

清單 1 省略了許多技術細節,展示的只是一個業務的流程,主要是為了讓大家對 Spring Web Flow 的語義有個初始的印象。從清單 1 中,應注意到一個很重要的特征—— Spring Web Flow 語義與 Servlet API 無關。更確切地講, Spring Web Flow 語義關注的是業務的流程,並未與 Sun 公司的 Web 規范緊密結合,這種描述是更高層次的抽象,差不多是在建模的角度來描述業務流程。

不過, Spring Web Flow 也並非只有抽象,現在還沒有哪一種工具或語言可以將一個模型直接轉換成相應的應用程序。 Spring Web Flow 更像是抽象建模和技術細節的混血兒,相比於湮沒在繁多的控制器和視圖中的 Web MVC 應用來講, Spring Web Flow 提供了如清單 1 所描述的更高層次的抽象,但同時它也整合了像 Unified EL 這樣的工具來控制技術上的細節。

Spring Web Flow 的基本元素

Flow 可看作是客戶端與服務器的一次對話( conversation )。 Flow 的完成要由分多個步驟來實現,在 Spring Web Flow 的語義中,步驟指的就是 state 。 Spring Web Flow 提供了五種 state ,分別是 Action State 、 View State 、 Subflow State 、 Decision State 、 End State ,這些 state 可用於定義 flow 執行過程中的各個步驟。除了 End State 外,其他 state 都可以轉換到別的 state ,一般通過在 state 中定義 transition 來實現到其他 state 的轉換,轉換的發生一般由事件( event )來觸發。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved