抢先一步
VMware 提供培训和认证,以加速您的进步。
了解更多Spring Web Flow 项目团队刚刚完成了 Web Flow 2 的第 7 个维护版本。 这是我们迄今为止最好的版本,距离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 最有用的功能之一是 重定向后发布模式 正常工作,这是使用受控导航获得良好后退按钮支持的关键先决条件之一。 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 相比,具有更简单的类型转换器 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 流定义为 POJO。 第三,您可以期望 Spring JavaScript 和 Spring Faces 这两个从 Web Flow 2 工作中发展出来的模块都将提升为顶级 Spring 项目。 Spring JavaScript 将成为 Spring 的官方 Ajax 集成项目,而 Spring Faces 将成为 Spring 的官方 JavaServerFaces 集成项目。
我期待着下周在 SpringOne 与你们中的许多人会面,讨论你们应用该项目的经验和我们未来的方向!