领先一步
VMware 提供培训和认证,助您加速进步。
了解更多Spring Web Flow 项目团队刚刚完成了 Web Flow 2 的 第七个维护版本。这是我们迄今为止最好的版本,距离 Web Flow 2.0.0 最终版本发布 将近一年。现在,随着 2.0.x 系列走向成熟稳定,我们已经开始着手开发下一个主要版本。在本次更新中,我想回顾过去的一年,并提供一些关于我们未来方向的信息。
去年 Web Flow 2 发布后,我们在发布后的头两个月内就获得了 50,000 次下载。从那时起,我们的 论坛流量 稳步增长,并且我们在多个令人兴奋的行业中看到了新的应用。许多人都知道 Spring Web Flow 是 Orbitz 在线旅行平台的基础,该平台如今支持 ebookers.com 和 nwa.com 等网站。如果您一直关注 2009 年 NBA 季后赛,您可能会发现 Web Flow 是 nba.com 的重要组成部分,这也很有趣。
与所有 Spring 项目一样,Web Flow 的成功离不开用户反馈。在过去一年里,与客户和 SpringSource 支持工程师的现场互动推动了我们 2.0.x 系列的大部分工作。社区在 报告错误、贡献补丁、突出 使用场景 以及普遍讨论项目可以如何继续改进 方面 也表现出色。
我想快速回顾一下自 2.0.0.RELEASE 以来做出的一些具体改进:
这项改进在 2.0.5 版本中实现,源于客户反馈以及 Dan Allen 在 JSFOne 上的演示,它将典型的 webflow-config.xml 文件大小减半,降至约 20 行配置。正如您在 此处 所见,这是通过应用通配符搜索流定义并结合基于流 ID 的流定义到 URL 的约定来实现的。
这项改进首先是为了响应此 安全公告 而为 SpringSource 客户提供的,随后在 2.0.3 版本中发布,它允许您限制允许的模型绑定集按视图状态进行。这通过此处 展示 的声明性样式实现。
Web Flow 最有用的功能之一就是 Post 后重定向模式 能够直接工作,这是良好后退按钮支持和受控导航的关键先决条件之一。2.0.5、2.0.6 和 2.0.7 版本都对该支持进行了后续改进。最近的改进确保在所有场景下(包括存在绑定或验证错误时)都一致地应用重定向行为。您可以在 ViewState.java 的 doEnter 和 doResume 方法中查看控制此模式强制执行的源代码。
社区 找到了 如何将文件流式传输回参与流程的客户端的方法。对这一点的 文档支持 在 Web Flow 2.0.0 中被忽略了,并在 2.0.6 版本中添加。
在 2.0.2 到 2.0.6 版本中,对支持视图状态模型绑定的系统进行了大量改进。该系统提供了 Spring DataBinder 的所有独特功能,例如支持转换通用集合的元素,并且与 Java PropertyEditors 相比,具有更简单的类型 Converter API。
除了这些核心改进之外,我们还在过去一年中看到了许多有趣的 Web Flow 集成,例如 Grails 1.1、ZK RIA 框架、Terracotta、IceFaces、SpringSource 的 richweb 培训课程、IntelliJ、Skyway Software 以及 第一本 Web Flow 2 书籍。
我们对未来有很多计划。我会留出技术细节供日后讨论,但我想总结一下这次努力的一些关键主题。首先,Web Flow 3 将是第一个需要 Java 5 的版本,因为它将以 Spring Framework 3 作为其基础。其次,您可以期待引入一个 @Flow 模型,该模型可以与 Spring MVC 的无状态 @Controller 模型互补,并允许将有状态的 Web Flow 定义为 POJO。第三,您可以期待 Spring JavaScript 和 Spring Faces,这两个模块源于 Web Flow 2 的努力,都将被提升为顶级 Spring 项目。Spring JavaScript 将成为 Spring 的官方 Ajax 集成项目,而 Spring Faces 将成为 Spring 的官方 JavaServerFaces 集成项目。
我期待下周在 SpringOne 上与许多朋友见面,讨论您在应用该项目中的经验以及我们的未来方向!