最近看了一段时间的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也没地方加啊)。

最新文章

  1. GRE与Vxlan网络详解
  2. php下xcache的安装
  3. LINUX信息安全系统设计基础第一周学习总结
  4. GET POST 区别详解
  5. SQLite清空表并将自增列归零[转]
  6. OC3-父类指针指向子类对象
  7. 浅谈string
  8. ibatis3.0调用Oracle的存储过程
  9. Xcode断点 中断不正常 每次断点都进入汇编
  10. Spring boot结合Maven实现不同环境的配置
  11. RestTemplate远程调用POST请求:HTTP 415 Unsupported Media Type
  12. 【CQOI2017】小Q的表格
  13. 【Little Demo】从简单的Tab标签到Tab图片切换
  14. Lintcode 730 所有子集的和
  15. python --flask框架的搭建--(flask,python2,python3都可以运行)
  16. pytorch中的Linear Layer(线性层)
  17. django导出excel
  18. 国外牛人的五个Kubernetes学习建议
  19. javaweb dom4j解析xml文档
  20. Apache2.4整合tomcat8

热门文章

  1. 安装:python+webdriver环境
  2. pycaffe使用.solverstate文件继续训练
  3. 关于eclipase出现的problems during content assist报错问题
  4. leetcode 之Implement strStr()(27)
  5. C++智能指针: auto_ptr, shared_ptr, unique_ptr, weak_ptr
  6. 获取GUID的方法
  7. 给定一列数字将其平移n位
  8. js对象替换键值名称
  9. python链接mysql以及mysql中对表修改的常用语法
  10. CodeForces 734F Anton and School