有事没事领个红包

spring in action 8.1 使用Spring web flow

一、说明

Spring Web Flow是spring MVC的扩展,它支持基于流程的应用程序,他将流程的定义和实现流程行为的类和视图分离开来。

1.1 spring中配置web flow,目前需要在xml中对其进行配置,首先需要加载名称空间

1.2 装配流程执行器 flow executor

<flow:flow-executor id="flowexecutor">

是驱动流程的执行,当用户进入一个流程时,流程执行器会为用户创建并启动一个流程执行实例,当流程暂停的时候,流程执行器会在用户执行操作后恢复流程。

尽管流程负责创建和执行流程,但它不负责加载流程定义。这个责任落在了注册表身上。

1.3 流程注册表:加载流程定义并让流程执行器能够使用他们。

<flow:flow-registry base-path="/WEB-INF/flows" id="registry">

  <flow:flow-locatio-pattern value="*-flow.xml"/>

</flow:flow-registry >

流程注册表会在"/WEB-INF/flows"目录下查找流程定义。

所有流程都是通过流程ID 进行引用。

上例中的计算方法

/WEB-INF/flows/order/*-flow.xml

其中,order就是流程id。

 

1.4 流程组件,spring web flow中,流程主要由:状态、转移、流程数据三个元素定义。

状态:流程中事件发生的地点。是业务逻辑执行、做出决策或将页面展现给用户的地方。

状态类型 描述
行为(Action) 行为状态是流程逻辑发生的地方
决策(Decision) 决策状态讲流程分成两个方向,他会基于流程数据的评估结果确定流程的方向
结束(End) 结束状态是流程的最后一站,一旦进入End状态,流程就会终止
子流程(Subflow) 子流程状态会在当前运行的流程上下文中启动一个新的流程状态
视图(View) 视图状态会暂停流程并邀请用户参与流程

 

转移:就是连接这些点的公路,在流程中,通过转移的方式从一个状态到另一个状态。

 

posted @ 2017-06-21 14:57  crazyCodeLove  阅读(277)  评论(0编辑  收藏  举报