zoukankan      html  css  js  c++  java
  • spring webflow

    最近看了一段时间的spring-webflow,说一下自己的见解吧。

    首先说一下关于spring-webflow的技术文档太少了,网上就只有一个入门篇,讲的比较笼统,但还是推荐一下,

    Spring Web Flow 2.0 入门,又看了下英文文档,先说下心得

    1.<view-state id="viewCart" view="viewCart">

    <on-render>

    <evaluate expression="productService.getProducts()" result="viewScope.products"/>

    on-render>

    <transition on="submit" to="viewOrder">

    transition>

    <transition on="addToCart" to="addProductToCart"/>

    view-state>

    on-render 必须在transition之前

    2.进入flow后,它会选择上下顺序中第一个view-state来展示

    3. requestParameters.id" type="long" />

    如果像下面那样不指定scope,则框架会从request, flash, view, flow, and conversation scope依次搜索booking

           

    4.

    可以通过url来获取参数。使用http://lo…/index?registerId=3,即可获取,

         

             

        

    直接使用

    表 2 Spring Web Flow 自定义的切入点

    5.

    切入点名称      XML 元素名称      触发时刻

    flow start      on-start      flow 执行之前

    state entry      on-entry      进入某个 state 之后,做其他事情之前

    view render      on-render      在进入 view 的 render 流程之后,在 view 真正 render出来之前

    state exit      on-exit      在退出 state 之前

    flow end      on-end      flow 执行结束之后

    6.在web flow中数据必须和一个scope绑定,有

    名称          创建          销毁

    flowScope     当flow开始     当flow销毁

    viewScope     当进入view-state     当离开view-state

    requestScope     当flow被调用     当flow返回数据

    flashScope     flow开始     flow结束

    conversationScope     最顶端的flow开始     最顶端的flow结束(用于flow的调用subflow)

    7.requestParameters     可以得到request中的数据, requestParameters.id" type="long" />

    感觉webflow其实就是spring mvc的一个变种,它能做的事,其它mvc也能做(其实是废话,什么样的web框架都可以用纯servlet来替代,就看麻不麻烦了);它用xml配置来代替了controller,并形成了一套按照步骤执行的web流。不同于工作流的是,工作流通常是多人协作的,而webflow一般则是单请求的流程。

    它的好处显而易见,就是对一个复杂的业务逻辑能有一个流程化的处理,使其的运行变得更清晰,同时能够有效的设计第一个数据的存活时间。

    在小的应用中,它就有些过于华丽了和复杂了。它的配置确实有些麻烦,并且每个web流一般都要有一个xml文件一做配置,这些不容易管理这些配置文件。好像现在不支持annotation吧,只能用xml(话说又没有action类,annotation也没地方加啊)。

  • 相关阅读:
    OI省选知识清单
    FWT板子
    [APIO2018]选圆圈
    [APIO2018]铁人两项
    [Test-1.11]-T4 Transform
    [Test-1.11]-T2divisor
    [Test1.11]-T3对合
    [Test3.3]-T3 Sorting (卡常)
    [Test1.11]-T1匹配 Matching
    二、Unity调用Xcode封装方法
  • 原文地址:https://www.cnblogs.com/haore147/p/7172343.html
Copyright © 2011-2022 走看看