Spring Web Flow

Spring Web Flow

1: 装配流程执行器
<flow:flow-executor id="flowExecutor" />
负责创建并执行流程

  <webflow:flow-executor id="flowExecutor" flow-registry="flowRegistry">
  </webflow:flow-executor>
  
2:配置流程注册表
加载流程定义,并让流程执行器可以使用它们
<flow:flow-registry id="flowRegistry" base-path="/WEB-INF/flows">
  <flow:flow-location-pattern value="*-flow.xml"
</flow>


  <webflow:flow-registry id="flowRegistry" flow-builder-services="builder">
    <webflow:flow-location path="/WEB-INF/login-webflow.xml" id="login"/>
    <webflow:flow-location path="/WEB-INF/remoteLogin-webflow.xml" id="remoteLogin" />
  </webflow:flow-registry>
  
 3;流程组件
 三个主要元素:
    状态:业务逻辑执行、作出决策、将页面展现给用户
    转移:
    流程数据:
    
    
(1)状态:5个
    行为Action:逻辑发生
    决策:
    结束:
    子流程:正在运行的流程启动一个新流程
    视图:暂停流程并邀请用户参与流程
    
    视图:
        <view-state id="welcome">默认逻辑视图名为id名称welcome
        <view-state id="welcome" view="welcome">显示指定逻辑视图名
        <view-state id="welcome" view="welcome" model="flowScope.test">
                                                model指明表单绑定的对象
    行为状态                                        
        <action-state id="save">
            <evaluate expression="action.save(id)"/>        <evaluate>行为状态要做的事情
            <transition on="execute" to="thankyou"/>        <transition>指定下一流程走向哪里,各种状态的子元素  on="A" to="B" 触发了A时间,流向B
            <transition on-exception="A" to="B"/>            抛出异常A,流向B
            <transition to="B"/>                            流向B                
        </action-state>
    
    决策
        <decision-state id="check">
            <if test="action.check(id)" then="success" else="false"/>
        <decision-state/>
    
    子流程
        <subflow-state id="order" subflow="order">
            <input name="order" value="value"/>                <imput>输入
            <transition to="thankyou"/>        
        <subflow-state/>
    
    结束
        <end-state id="end"/>
    
    
(2)全局转移
        <global-transitions>        将这个定一个为全局转移,所有流程中状态都有这个转移
            <transition on="A" to="B"/>
        <global-transitions/>
        
(3)流程数据-声明变量
        <var name="person" class="..Person">                    新建实例
        <set name="person" value="new ..Person()">                
        <evaluate result="person" expression=getPerson()">        表达式结果复制到变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值