`
zhaoImpulse
  • 浏览: 80578 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

对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. <set name="requestScope.hotelId" value="requestParameters.id" type="long" />

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

        <evaluate expression="entityManager.persist(booking)" />

4.<input name="registerId"/>

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

     <on-start>

          <evaluate expression="userService.log(registerId)" ></evaluate>

     </on-start>

直接使用

表 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中的数据,<set name="requestScope.hotelId" value="requestParameters.id" type="long" />

 

 

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

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

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

分享到:
评论
1 楼 佑手轻扬 2013-11-25  
[color=red]
[/color] 

相关推荐

    spring-webflow-reference

    - Spring Web Flow 2.2则增加了对JSF 2的支持、Spring Security Facelets标签库更新、Spring JavaScript更新和JFS Portlet支持等。 2. 流程定义(Defining Flows): - 流程是一种可以由不同状态组成的交互序列,...

    spring-webflow-1.0.5.part1.rar

    spring-webflow-1.0.5.part1.rar

    开发工具 spring-web-4.3.6.RELEASE

    开发工具 spring-web-4.3.6.RELEASE开发工具 spring-web-4.3.6.RELEASE开发工具 spring-web-4.3.6.RELEASE开发工具 spring-web-4.3.6.RELEASE开发工具 spring-web-4.3.6.RELEASE开发工具 spring-web-4.3.6.RELEASE...

    spring-webflow-reference.pdf

    3. **国际化(i18n)与本地化(l10n)**:Spring WebFlow内置了对i18n和l10n的支持,可以方便地进行多语言环境的切换。 4. **异常处理**:WebFlow提供了强大的异常处理机制,可以捕获并处理流程中的错误,确保用户...

    spring-webflow-2.4.6.RELEASE

    spring-webflow-2.4.6.RELEASE,方便大家使用,找了好久

    springfox-spring-web-2.9.2-API文档-中文版.zip

    赠送jar包:springfox-spring-web-2.9.2.jar; 赠送原API文档:springfox-spring-web-2.9.2-javadoc.jar; 赠送源代码:springfox-spring-web-2.9.2-sources.jar; 赠送Maven依赖信息文件:springfox-spring-web-...

    springfox-spring-web-3.0.0-API文档-中文版.zip

    赠送jar包:springfox-spring-web-3.0.0.jar; 赠送原API文档:springfox-spring-web-3.0.0-javadoc.jar; 赠送源代码:springfox-spring-web-3.0.0-sources.jar; 赠送Maven依赖信息文件:springfox-spring-web-...

    sentinel-spring-webmvc-adapter-1.8.0-API文档-中文版.zip

    赠送jar包:sentinel-spring-webmvc-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webmvc-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webmvc-adapter-1.8.0-sources.jar; 赠送Maven依赖信息...

    springfox-spring-webmvc-3.0.0-API文档-中英对照版.zip

    赠送jar包:springfox-spring-webmvc-3.0.0.jar; 赠送原API文档:springfox-spring-webmvc-3.0.0-javadoc.jar; 赠送源代码:springfox-spring-webmvc-3.0.0-sources.jar; 赠送Maven依赖信息文件:springfox-...

    spring-web-5.0.10.RELEASE-API文档-中英对照版.zip

    赠送jar包:spring-web-5.0.10.RELEASE.jar; 赠送原API文档:spring-web-5.0.10.RELEASE-javadoc.jar; 赠送源代码:spring-web-5.0.10.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-web-5.0.10.RELEASE....

    spring-webmvc-5.2.15.RELEASE-API文档-中文版.zip

    赠送jar包:spring-webmvc-5.2.15.RELEASE.jar; 赠送原API文档:spring-webmvc-5.2.15.RELEASE-javadoc.jar; 赠送源代码:spring-webmvc-5.2.15.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-webmvc-...

    spring-web-5.2.0.RELEASE-API文档-中文版.zip

    赠送jar包:spring-web-5.2.0.RELEASE.jar; 赠送原API文档:spring-web-5.2.0.RELEASE-javadoc.jar; 赠送源代码:spring-web-5.2.0.RELEASE-sources.jar; 赠送Maven依赖信息文件:spring-web-5.2.0.RELEASE.pom;...

    springfox-spring-webmvc-3.0.0-API文档-中文版.zip

    赠送jar包:springfox-spring-webmvc-3.0.0.jar; 赠送原API文档:springfox-spring-webmvc-3.0.0-javadoc.jar; 赠送源代码:springfox-spring-webmvc-3.0.0-sources.jar; 赠送Maven依赖信息文件:springfox-...

    spring-web-5.2.3.RELEASE和spring-webmvc-5.2.3.RELEASE

    Spring Web MVC模块(spring-webmvc-5.2.3.RELEASE.jar)是Spring框架中用于构建MVC(Model-View-Controller)架构的Web应用程序的核心部分。它为Web开发提供了一种强大且灵活的模型绑定、数据验证、异常处理和视图...

    sentinel-spring-webmvc-adapter-1.8.0-API文档-中英对照版.zip

    赠送jar包:sentinel-spring-webmvc-adapter-1.8.0.jar; 赠送原API文档:sentinel-spring-webmvc-adapter-1.8.0-javadoc.jar; 赠送源代码:sentinel-spring-webmvc-adapter-1.8.0-sources.jar; 赠送Maven依赖信息...

    spring-webflow

    - **Stack Overflow**:使用标签 `spring-webflow` 发布问题。 **1.4 跟踪开发进度** 想要了解最新的开发进展和计划,请关注: - **GitHub**:官方代码仓库,可跟踪最新的代码提交。 - **官方博客**:发布最新的...

    spring-webmvc-5.3.7-API文档-中文版.zip

    赠送jar包:spring-webmvc-5.3.7.jar; 赠送原API文档:spring-webmvc-5.3.7-javadoc.jar; 赠送源代码:spring-webmvc-5.3.7-sources.jar; 赠送Maven依赖信息文件:spring-webmvc-5.3.7.pom; 包含翻译后的API文档...

    spring-webmvc5.3.6 jar包.rar

    这个jar文件包含Spring MVC框架相关...spriing-webmvc 依赖于 spring-web如果直接使用spring-webmvc,就会隐式地添加 spring-web。不必显示添加 spring-web。 该jar包含Spring MVC框架相关的所有类,如Servlets,Web MVC

    spring-webmvc-5.3.15-API文档-中文版.zip

    赠送jar包:spring-webmvc-5.3.15.jar; 赠送原API文档:spring-webmvc-5.3.15-javadoc.jar; 赠送源代码:spring-webmvc-5.3.15-sources.jar; 赠送Maven依赖信息文件:spring-webmvc-5.3.15.pom; 包含翻译后的API...

Global site tag (gtag.js) - Google Analytics