Spring Web Flow 1.0

发布 | Keith Donald | 2006年6月10日 | ...

 

产品负责人
Keith Donald, SpringSource
Erwin Vervaet, Ervacon
 
Spring Web Flow 是下一代 Java Web 应用控制器框架,它允许开发人员将用户操作建模为可在任何环境中运行的高级模块,称为流(flows)。该框架提高了生产力和可测试性,同时提供了一个强大的解决方案来强制执行导航规则和管理应用程序状态。

全景概览

Spring Web Flow 允许开发人员构建可重用、自包含的控制器模块,称为流(flows)。流定义了一个用户对话,它响应用户事件,驱动应用程序代码执行以完成业务目标。请看这个图形化的流定义视图,它描述了一个与用户交互的搜索过程
Seach Flow 
像上面这样的流是使用丰富的领域特定语言 (DSL) 声明式定义的。该语言的 XML (XSD) 形式最受用户欢迎。定义完成后,流可以独立测试,可以作为子流嵌入到其他流中,并且可以部署到包括 Java EE Servlet 和 Portlet (JSR 168) 在内的多种环境中执行,无需更改。

产品亮点

Spring Web Flow 包含许多受用户欢迎的创新功能。其中包括
  • 将应用程序任务的所有控制器逻辑(例如搜索过程)定义在一个地方,而不是将逻辑分散在许多地方。
  • 将流组合在一起,用简单的部分创建丰富的控制器模块。
  • 使用自然的、面向对象的线性编程模型强制执行严格的用户导航规则,而无需编写冗长的 if/else 块。
  • 在流执行期间分配的内存可以在执行结束或过期时自动清理。
  • 使用您选择的基础 Web 框架,在 Servlet 环境中部署流以供执行。Spring Web Flow 提供了与主流 Web 框架 Struts、Spring MVC 和 Java Server Faces 的便捷集成。
  • 更改 Web 框架(例如从 Struts 更改为 Spring MVC)而无需更改流定义。
  • 完全更改环境(例如从 JUnit 测试更改为 Portlet)而无需更改流定义。
  • 在开发时即时演进应用程序的导航规则,无需容器重启。
  • 自动获得浏览器按钮支持(后退、前进、刷新),无需自定义编码。
  • 将任务数据存储在四种托管作用域中的任何一种:request、flash、flow 和 conversation;每种都有其独特的语义。
  • 在没有容器的情况下独立测试流。在部署之前确保您的应用程序控制逻辑正常工作。
  • 使用 Spring IDE 2.0 图形化地可视化和编辑您的流导航逻辑。

入门指南

开始使用 Spring Web Flow 的最佳方法是阅读 Erwin 的实用介绍并浏览示例应用程序。我们建议从一开始就查看所有示例,并根据需要补充 参考手册 中的材料。本次发布版本附带了十个示例应用程序,每个都展示了一组独特的功能。这些示例是
  1. Phonebook - 展示大多数功能(包括子流)的原始示例
  2. Sellitem - 展示带有条件转换、流执行重定向、自定义文本字段格式和延续的向导
  3. Flowlauncher - 展示启动和恢复流的所有可能方式
  4. Itemlist - 展示 REST 风格的 URL 和内联流
  5. Shippingrate - 展示 Spring Web Flow 与 Ajax 技术的结合使用
  6. NumberGuess - 展示有状态 Bean、evaluate actions 和“单键”流执行重定向。
  7. Birthdate - 展示 Struts 集成
  8. Fileupload - 展示 multipart 文件上传、set actions 和 flash 作用域
  9. Phonebook-Portlet - Portlet 环境中的 Phonebook 示例(请注意流定义没有改变)
  10. Sellitem-JSF - JSF 环境中的 Sellitem 示例
  11. Booking-Faces - 一个更全面的 Spring Web Flow + JSF 应用程序。
所有示例项目都是 Spring IDE 项目,可以直接作为“Dynamic Web Projects”导入 Eclipse,也可以使用 Eclipse Web Tools 在 Eclipse IDE 内部署。
 
有关 Spring Web Flow 完整功能集的深入而全面的介绍,最佳选择是阅读 Working with Spring Web Flow

当前版本说明

  • Spring Web Flow 1.0.x 是经过验证的软件,适用于生产环境。
  • Spring Web Flow 运行在 Java SE 1.3 或更高版本,以及 Java EE 1.3 (Servlet 2.3, Portlet 1.0) 或更高版本。Spring Web Flow 运行在所有主要应用服务器平台上。
  • Spring 1.x 系列需要 Spring 1.2.7 或更高版本,Spring 2.x 系列需要 Spring 2.0 或更高版本。
  • Struts Classic (1.2.9)、Spring MVC 和 JSF 集成是开箱即用的。
  • 1.0 版本标志着公共 API 和 XSD 的向后兼容性将在整个 1.x 系列中得到保留。

即将发布的版本说明

  • Spring Web Flow 2.0 是框架的下一个主要版本,重点在于增强集成和易用性。
  • Spring Web Flow 2.0 正式版预计于 2008 年 4 月发布。

社区

  • 加入我们的 论坛,参与关于 Spring Web Flow 使用和架构的热烈讨论。这是参与 Web Flow 社区的最佳方式。

重要资源

获取 Spring 新闻通讯

订阅 Spring 新闻通讯,保持联系

订阅

领先一步

VMware 提供培训和认证,助力您加速前进。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将到来的活动

查看 Spring 社区中所有即将到来的活动。

查看全部