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也没地方加啊)。
spring webflow的更多相关文章
- 使用spring webflow,在前台页面中如何显示后端返回的错误信息
刚刚接触spring webflow,相关的资料并不是很多,并且大都是那种入门的 .xml文件的配置. 用到的CAS 最新的4.0版本用的就是web-flow流,前台页面使用的是表单提交.于是我就碰到 ...
- Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)
影响版本 Spring WebFlow 2.4.0 - 2.4.4 访问id为1的酒店http:/ :8080/hotels/1,点击预订按钮"Book Hotel",填写相关信息 ...
- 草草弄完SPRING WEB-FLOW
明天白天再慢慢看原理吧. 今天先把代码实习一次. 作作截图存照.
- Thymeleaf+Spring整合
前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...
- Spring 教程(一)
一.Spring是什么 通常说的Spring其实指的是Spring Framework,它是Spring下的一个子项目,Spring围绕Spring Framework这个核心项目开发了大量其他项目, ...
- Spring Cloud 微服务中搭建 OAuth2.0 认证授权服务
在使用 Spring Cloud 体系来构建微服务的过程中,用户请求是通过网关(ZUUL 或 Spring APIGateway)以 HTTP 协议来传输信息,API 网关将自己注册为 Eureka ...
- EJB vs Spring
转载: Spring 自从2003年发布以来,一直是Java开源框架的奇迹之一.从2000年开始,伴随着B/S架构逐渐引入企业应用软件开发的领域,Java就逐渐成为企业应用开发的主流技术,一直到200 ...
- spring+thymeleaf实现表单验证数据双向绑定
前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...
- Thymeleaf模板引擎+Spring整合使用方式的介绍
尊重原创,原文地址为:https://www.cnblogs.com/jiangchao226/p/5937458.html 前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是Sp ...
随机推荐
- [ python ] 项目二:主机批量管理程序
开发要求: 1. 对主机进行批量管理 2. 可对单台或主机组批量执行命令 3. 可上传文件到对应的主机或组 4. 使用多线程实现 程序: 1. README # 作者:hkey # ...
- html,获取iframe的window,document,自定事件与iframe通信
获取iframe的window对象js代码如下.注意:一定要在文档加载完成之后,才能获取到 var Iframe=document.getElementById("script" ...
- SQl server 2008 附加数据库失败,错误:5120
通过附加功能添加现成的数据库是非常方便的,然而有时会出现附加数据库失败.那么,我们该如何解决此问题? 有两种解决方法 [第一种方法] 第一步:找到要添加数据库的.mdf文件,点击右键,选择属性. 第二 ...
- 【hdoj_2189】来生一起走(母函数)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2189 本题的数学模型如下: 分解的问题,常用母函数求解,这里要求每个"硬币"的价值必须 ...
- MITx 创业101 寻找你的顾客
来自MITx的创业课 步骤一 市场分割(Market Segmentation) 头脑风暴所有可能的市场,关注可能性 寻找最终用户(End User)——会使用你的产品的用户,但不一定会付钱 思考产品 ...
- asp.net webform 打造私人后台管理系统(附源码)
系统简介 git地址:https://github.com/qingfengjun/XSSystem 不少人让我做公司的网站,要求不多,但是需要有一个后台系统,所以就有了开发的动力.也想做个系统自己学 ...
- windows10 易升 下载失败 解决方法
在你剩余最大空间的硬盘里有一个名字大概是Windows10Updata的文件夹里找到一个名字14339开头的升级镜像,把这个文件的名字用记事本保存下来方便以后使用,同时在这个文件夹里还有一个叫prod ...
- es6关于let和const的总结
set用于声明变量 1.var 的一个升级版 2.不存在变量提升 console.log(a);//Uncaught ReferenceError: a is not defined let a=1; ...
- [转载]开发 Spring 自定义视图和视图解析器
原文出处 http://www.ibm.com/developerworks/cn/java/j-lo-springview/ 概述 Spring 3.0 默认包含了多种视图和视图解析器,比如 JSP ...
- Memory Allocation with COBOL
Generally, the use of a table/array (Static Memory) is most common in COBOL modules in an applicatio ...