developerWorks 中有一篇教材讲解了 Spring Web Flow 2.0 的特性与用法,并通过一个例子程序一步步的讲解了集成过程,对初学 Spring Web Flow 2.0 是个比较好的教材.
但是其中没有提供例子源码,我按照文章中的步骤,将其例子在我机器上测试成功,以下就是源码程序,大家可以通过教材与源码快速了解一下 Spring Web Flow 2.0 的特点.
以下是教材的部分内容,如果你有IBM用户ID可以点击Spring Web Flow 2.0 入门查看.
Spring Web Flow 2.0 新特性
Spring Web Flow 是 Spring 的一个子项目,其最主要的目的是解决跨越多个请求的、用户与服务器之间的、有状态交互问题。最新版本为 2.0 ,相比于 1.x 版的 Spring Web Flow ,有以下几个值得注意的新特性。
-
与 Spring MVC 深度整合
Spring Web Flow 1.x 是个自成体系的框架,可与 Spring Web MVC 、 Struts 、 JSF 等 Web 框架整合。最新的 Spring Web Flow 2.0 则明确声明是基于 Spring Web MVC 的一个扩展。
-
提供了处理 Ajax 事件的能力
Ajax 事件的处理与 Web Flow 事件的处理相一致,在处理完成后, flow 即可刷新客户端相关界面代码。
-
与 JSF 整合
通过将 JSF 层层包装,最终可在 Spring Framework 和 Spring Web Flow 中使用 JSF 的各种组件。
-
与 Spring Security (原 Acegi Security )整合
只需将某个 flow 声明为“ secured ”,即 可利用 Spring Security 来确定当前用户是否有权限运行 flow 、激发事件等等。
-
更简洁的配置
官方的数据说同一个 flow , 2.0 版的配置比 1.x 版的配置少 50% 的 XML 代码。
-
重用更方便
Spring Web Flow 2.0 提供了 flow 的继承,重用即有的 flow 代码更加容易。
购物车用例
要了解 Spring Web Flow 是什么东西,最好的办法莫过于查看示例,图 2 展示了一个简化的购物车的流程。
图 2 所示流程用 Spring Web Flow 2.0 的配置文件表示如下:
……
<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 )来触发。
- 大小: 7.9 KB
分享到:
相关推荐
**Spring Web Flow 2.0 入门指南** Spring Web Flow 是一个用于构建高度交互式Web应用程序的框架,它专注于管理用户会话的状态和流程控制。这个框架在Spring MVC之上提供了一种更高级的方式来处理复杂的用户导航...
Spring Web Flow 2.0 购物车示例,资源来自http://www.cnblogs.com/xwdreamer/archive/2011/11/10/2296939.html.建议对照文章学习
下面我们将深入探讨Spring Webflow 2.0中的关键知识点。 首先,**流程建模**是Spring Webflow的核心。它允许开发者通过XML定义流程图,描述用户与应用之间的交互过程。流程图包含了活动(如视图状态和动作状态)、...
Spring Web Flow 2.0 入门 本教程分析了 Spring Web Flow 2.0 的技术要点,并且通过创建一个示例应用程序,展示了 Spring Web Flow 2.0 的基本知识。 开始之前 关于本教程 本教程通过一个简化的购物车应用,介绍了...
### Spring Webflow 入门基础 #### 购物车用例 首先,我们通过一个购物车用例来深入理解Spring Web Flow的应用场景及其优势。购物车作为一个典型的电子商务应用场景,涉及用户选择商品、查看购物车内容、确认订单...
这个例子中的"CartApp3"很可能是一个基于Spring WebFlow实现的购物车应用程序。 在Spring WebFlow中,流程是应用程序的核心,它定义了用户与系统的交互路径。流程由一系列的状态(states)组成,每个状态可以包含一...
### Spring Web Flow 2.0 入门指南 #### 一、Spring Web Flow 2.0 概览 Spring Web Flow (SWF) 是Spring框架下的一个子项目,旨在简化Web应用程序中的工作流程管理和状态管理。它特别适用于处理复杂的用户交互场景...
### Spring Web Flow 2.0 入门指南 #### 一、Spring Web Flow 简介 Spring Web Flow 是 Spring 框架的一个子项目,主要用于处理 Web 应用程序中的流程控制。它解决了跨多个请求的用户与服务器之间有状态交互的问题...
在这个“spring webflow 例子”中,我们将深入探讨Spring Web Flow如何帮助我们构建一个网上书店应用。 首先,Spring Web Flow的核心概念包括流程定义、状态和转换。流程定义是整个流程的蓝图,它由一系列状态...
根据提供的标题、描述和标签,本篇文章将围绕“Spring Web Flow”这一主题展开,深入探讨其核心概念、架构原理及应用场景等内容。 ### Spring Web Flow概述 Spring Web Flow是Spring Framework的一部分,它为Web...
### Spring Web Flow 2.4.0 Reference Guide关键知识点 #### 一、Spring Web Flow简介与新特性 ##### 1.1 引言 Spring Web Flow(SWF)是Spring框架的一部分,它提供了一种强大的方式来管理Web应用程序中的流程...
《深入剖析Spring Webflow 2.3.0源码》 Spring Webflow 是Spring框架的一个扩展,它专注于处理Web应用程序中的流程管理。Spring Webflow 2.3.0是其一个重要版本,它提供了强大的状态管理和转移动作,使得开发者能够...
《Spring Web Flow 入门详解》 随着Web应用的不断扩展和复杂化,管理页面流程逐渐成为了一项挑战。在大型应用中,如何清晰地定义和控制应用的导航逻辑,尤其是涉及多步骤交互过程时,成为了开发者的关注焦点。...
Spring WebFlow 是一个用于构建高度交互式Web应用的框架,它扩展了Spring MVC的功能,专注于管理应用程序中的流程和状态。本官方中文版权威指南PDF详细介绍了如何使用Spring WebFlow来构建动态、流程导向的Web应用。...
**三、Spring Web Flow 2.0 入门指南** - **环境搭建**:要运行Spring Web Flow 2.0示例应用,需要准备JDK 1.6及以上版本、Spring Framework 2.5.4及以上版本、Spring Web Flow 2.0.2版本、Tomcat 6.0及以上版本...
Spring Web Flow 是一个用于构建复杂 Web 应用程序页面流程管理的框架,它是 Spring Framework 的一个独立模块。Spring Web Flow 的目标是为了解决在 Web 应用中管理和重用页面流程的问题,尤其是在需要多步骤导航...
《Spring Web Flow权威指南》介绍了Spring Web Flow的构建系统Spring Jumpstart、Spring Web Flow架构和基础知识,并结合示例讲述了Spring Web Flow的高级概念、流执行管理和驱动,同时说明了如何测试流。...
Spring Web Flow 。 官网 Spring Web Flow API。 Spring Web Flow 开发文档。
### Spring WebFlow 从 1.0 升级到 2.0 的核心知识点 #### 一、流定义语言的变化 ##### 1.1 引言 Spring WebFlow (SWF) 是一款强大的流程管理框架,它使得创建复杂的Web应用程序变得更为简单。随着技术的发展,从 ...
**Spring Web Flow2 入门详解** Spring Web Flow (SWF) 是一个强大的MVC框架,专注于管理应用程序中的用户交互流程。它允许开发者定义可重用的、有状态的导航流,这些流可以处理用户的输入并指导他们通过一系列步骤...