Spring Web Flow 项目更新

工程 | Keith Donald | 2009年4月20日 | ...

Spring Web Flow 项目团队刚刚完成了Web Flow 2的第7个维护版本。这是我们迄今为止最好的版本,距离Web Flow 2.0.0最终版本发布将近一周年。现在,随着2.0.x系列的成熟和稳定,我们开始着手下一个主要版本的工作。在本篇博文中,我想回顾过去的一年,并提供一些关于我们未来方向的信息。

Web Flow 2 的采用

当Web Flow 2去年发布时,我们在发布后的前两个月看到了50,000次下载。从那时起,我们的论坛流量稳步增长,并且我们在几个令人兴奋的行业中看到了新的采用。你们中的许多人知道Spring Web Flow是Orbitz在线旅游平台的基础,该平台如今为ebookers.comnwa.com等网站提供支持。如果您一直在关注2009年的NBA季后赛,您可能会发现Web Flow也是nba.com的重要组成部分。

我们过去一年的工作

与所有Spring项目一样,Web Flow也依赖于反馈才能取得成功。与客户的现场互动以及SpringSource支持工程师推动了我们过去一年在2.0.x上的大部分工作。社区在报告错误贡献补丁、突出显示使用场景以及普遍讨论改进项目的方式方面也表现出色。

我想快速回顾一下自2.0.0.RELEASE以来的一些具体改进。

  • 流程URL映射的配置简化和约定

    此项改进应用于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.1ZK RIA框架TerracottaIceFaces、SpringSource的richweb培训课程IntelliJSkyway 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上与你们中的许多人会面,讨论你们应用该项目以及我们未来方向的经验!

获取Spring时事通讯

与Spring时事通讯保持联系

订阅

领先一步

VMware提供培训和认证,以加速您的进步。

了解更多

获取支持

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

了解更多

即将举行的活动

查看Spring社区中所有即将举行的活动。

查看全部