• 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) 视图状态会暂停流程并邀请用户参与流程

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

  • 相关阅读:
    When to Partition a Table and an Index
    Hello, world
    提交
    SubmitOncePage:解决刷新页面造成的数据重复提交问题
    压缩ASP.NET中的ViewState
    asp.net千奇百怪的日历
    ICallbackEventHandler实现
    xml數據
    CrystalReports
    [转]Microsoft Visual Studio 2005中使用水晶报表
  • 原文地址:https://www.cnblogs.com/zhaopengcheng/p/7059594.html
Copyright © 2020-2023  润新知