最近看了一段时间的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的更多相关文章

  1. 使用spring webflow,在前台页面中如何显示后端返回的错误信息

    刚刚接触spring webflow,相关的资料并不是很多,并且大都是那种入门的 .xml文件的配置. 用到的CAS 最新的4.0版本用的就是web-flow流,前台页面使用的是表单提交.于是我就碰到 ...

  2. Spring WebFlow 远程代码执行漏洞(CVE-2017-4971)

    影响版本 Spring WebFlow 2.4.0 - 2.4.4 访问id为1的酒店http:/ :8080/hotels/1,点击预订按钮"Book Hotel",填写相关信息 ...

  3. 草草弄完SPRING WEB-FLOW

    明天白天再慢慢看原理吧. 今天先把代码实习一次. 作作截图存照.

  4. Thymeleaf+Spring整合

    前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...

  5. Spring 教程(一)

    一.Spring是什么 通常说的Spring其实指的是Spring Framework,它是Spring下的一个子项目,Spring围绕Spring Framework这个核心项目开发了大量其他项目, ...

  6. Spring Cloud 微服务中搭建 OAuth2.0 认证授权服务

    在使用 Spring Cloud 体系来构建微服务的过程中,用户请求是通过网关(ZUUL 或 Spring APIGateway)以 HTTP 协议来传输信息,API 网关将自己注册为 Eureka ...

  7. EJB vs Spring

    转载: Spring 自从2003年发布以来,一直是Java开源框架的奇迹之一.从2000年开始,伴随着B/S架构逐渐引入企业应用软件开发的领域,Java就逐渐成为企业应用开发的主流技术,一直到200 ...

  8. spring+thymeleaf实现表单验证数据双向绑定

    前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...

  9. Thymeleaf模板引擎+Spring整合使用方式的介绍

    尊重原创,原文地址为:https://www.cnblogs.com/jiangchao226/p/5937458.html 前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是Sp ...

随机推荐

  1. HTML5API

    H5新API 一.地理位置API 1.navigator.geolocation对象 getCurrentPosition(callback,errCallback,options)获取当前位置 wa ...

  2. edittext 的一个案例

        <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...

  3. tomcat8特性

    作者:Eilen,转载需注明.博客主页:http://www.cnblogs.com/Eilen/ 一.Apache Tomcat 8介绍 Apache Tomcat 8RC1版于前几日发布.它 经过 ...

  4. Mysql SQL 优化

    1. 查询缓存 多数MySQL服务器都开启了查询缓存,相同的查询被执行多次,查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了. // 查询缓存不开启 $r = mys ...

  5. hdu多校6

    这个场要恶心死我了.. 1001 积分题,不要四舍五入 //#pragma comment(linker, "/stack:200000000") //#pragma GCC op ...

  6. Aras Innovator 11 sp2 firefox客户端设置

    在上一篇文章<Aras Innovator 11 sp2 安装>后,服务器算是安装好了,还需要在使用的客户端进行设置才可以正常使用Aras Innovator 该篇为firefox设置,还 ...

  7. C# For Bot Framework

    Bot Framework是一个聊天机器人的框架,背后是微软的SDK,它可以使用C#和Nodejs开发,今天我尝试用创建一个比较简单Bot 参考地址:https://docs.microsoft.co ...

  8. Ubuntu 18.04安装 Sublime

    作为一款强大的源代码编辑器,当然需要一手流利的命令来安装它. 命令: wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | s ...

  9. ajax向php传参数对数据库操作

    刚入门php,要求要对多用户进行批量删除(当然实际中是不可能的),在这就以此为例. 大意就是通过对数据库中用户查询,将用户信息显示在页面表格中,在进行多项选择后将所选行参数通过ajax传入后台php文 ...

  10. 【SPOJ 8093】Sevenk Love Oimaster

    http://www.spoj.com/problems/JZPGYZ/ 查询一个询问串在上面n个串中多少个串的子串. 后缀数组+主席树,常熟有点大... 建出广义SAM,利用parent树的dfs序 ...