javascript
Spring Web Flow 入门demo(三)嵌套流程与业务结合 附源码
轉載地址 ; http://blog.csdn.net/hejingyuan6/article/details/46723021
上篇博客我們說spring web Flow與業務結合的方式主要有三種,下面我們主要介紹一下第三種的應用方式
?
3,執行到<action-state> 元素
SpringWeb Flow 中的這個 <action-state> 是專為執行業務邏輯而設的 state 。如果某個應用的業務邏輯代碼既不適合放在transition 中由客戶端來觸發,也不適合放在 Spring Web Flow 自定義的切入點,那么就可以考慮添加<action-state> 元素專用于該業務邏輯的執行。更傾向于觸發某個事件來執行。
action-state 示例:
[html] view plaincopyprint?
添加subflow 結點
?
商品列表已經實現了,接下來操作步驟為:
?
?
具體demo實現:
?
Cart:
Cart 是購物車的實現類,其同樣要實現Java.io.Serializable 接口,但它沒有像 ProductService 一樣成為由 Spring IoC 容器管理的 Bean,每個客戶的購物車是不同的,因此不能使用 Spring IoC 容器默認的 Singleton 模式。
?
CartItem:
shopping.xml:
在/WEB-INF/flows 目錄下添加 addToCart.xml
subflow-state元素的 subflow 屬性即指明了這個被調用的 flow 的 id 為“ addToCart ”,現在就要添加addToCart flow的定義。
addToCart.xml:
[html] view plaincopyprint?
webflow-config.xml 中添加addToCart.xml 的位置
[html] view plaincopyprint?
viewCart.jsp:
[html] view plaincopyprint?
viewOrder.jsp:
[html] view plaincopyprint?
訪問地址:
http://localhost:8080/CartApp5/spring/index
?
顯示效果:
再擴展一下:
如果我們將shopping.xml中的配置文件修改一下,改為flowScope時,我們在viewOrder頁面也可以獲取products數據。
[html] view plaincopyprint?
viewOrder.jsp :
效果圖:
總結:
? ? Spring Web Flow 應用流程的方式解決了數據存取范圍的問題,并在解決數據存取范圍問題的同時,通過使用xml的方式來控制頁面間的流轉順序以及頁面間數據的傳輸,使得我們頁面間的跳轉變得更加靈活可控。
附源碼
總結
以上是生活随笔為你收集整理的Spring Web Flow 入门demo(三)嵌套流程与业务结合 附源码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Web Flow 入门de
- 下一篇: 前端JavaScripts基础知识点讲义