什么是Spring Web Flow?
Spring Web Flow (SWF) 是Spring Framework的一個(gè)脫離模塊。這個(gè)模塊是Spring Web應(yīng)用開發(fā)模塊棧的一部分,Spring Web包含Spring MVC。
Spring Web Flow 的目標(biāo)是成為管理Web應(yīng)用頁(yè)面流程的最佳方案。當(dāng)你的應(yīng)用需要復(fù)雜的導(dǎo)航控制,例如向?qū)В谝粋€(gè)比較大的事務(wù)過程中去指導(dǎo)用戶經(jīng)過一連串的步驟的時(shí)候,SWF將會(huì)是一個(gè)功能強(qiáng)大的控制器。
為什么要選用Spring Web Flow?
Web應(yīng)用中的頁(yè)面流程可以通過Web流程的定義(XML文件或者Java類)清晰的展現(xiàn)出來(lái)。
Web流程被設(shè)計(jì)成自包含的。這就允許你把你的應(yīng)用中的一部分看作是一個(gè)模塊,這樣就你可以在多種場(chǎng)合重用它。
Web流程捕獲任何合理的頁(yè)面流程總是使用同種技術(shù)。你不必被迫在特定的場(chǎng)合使用特定的控制器。
最后,Web流程是一等公民并且可以通過一個(gè)良好定義的契約使用。它具有一個(gè)清晰的,可觀察的生存周期為你自動(dòng)管理。通過簡(jiǎn)單配置,系統(tǒng)便會(huì)為你管理復(fù)雜的邏輯,總而言之,這非常容易使用。
這是網(wǎng)頁(yè)上給出的結(jié)論,就我現(xiàn)在大致了解的情況而言,主要是前兩點(diǎn)優(yōu)點(diǎn)比較大,如果單論易用性,個(gè)人覺得jpf是很不錯(cuò)的,自己根本不需要寫任何的xml,全由workshop自己生成,不過一個(gè)jpf里面action太多了的話確實(shí)要把讀程序的人搞昏。
網(wǎng)上資料很少,可能只能找到 一個(gè)航空訂票服務(wù) 和 一個(gè)書籍訂購(gòu) 的例子。痛苦~
還有http://www.nirvanastudio.org/java/spring-webflow.html。
當(dāng)然最好的例子還是官方的例子,下載后 在 projects\spring-webflow-samples下有很多有趣的例子。