Spring Web Flow 2.0 M4 - 反馈征集

工程 | Keith Donald | 2008年3月11日 | ...

Web Flow 团队一直在努力开发 Web Flow 2。我们刚刚达到了第四个里程碑,并最早将于下周进入发布候选状态。2.0 最终版本计划于本月底发布。

从现在到 2.0 最终版本发布,我们期待您的反馈!如果您是当前使用 Web Flow 1.x 的应用程序开发人员,或正在评估在您的项目中使用 Web Flow,请评估 2.0 M4告诉我们您的想法。如果您是将 Web Flow 引擎集成到您的框架中的 Web 框架提供商,我们鼓励您评估 2.0 M4 中改进的钩子,并与我们联系。

在接下来的几段中,我将为使用 Web Flow 的应用程序开发人员以及将其集成到自己 Web 框架中的框架开发人员提供 2.0 M4 的亮点。

应用程序开发人员
首先,评估最新的 Web Flow 功能集的最佳方法是运行分发包中包含的参考应用程序。2.0 M4 中有两个参考应用程序,它们都是“Spring Travel”旅行预订应用程序的变体。一种变体展示了 Web Flow 如何与 Spring MVC 和 JSP 视图集成,另一种则展示了 Web Flow 如何与 Spring MVC 和 JSF 视图集成。(参见:如何部署

2.0 版本的主要主题之一是易用性。Web Flow 2.0 M4 引入了许多新功能,简化了流程的实现,我们非常欢迎您就这些功能提供反馈。具体来说:

  • 我们引入了简化的 XML 流程定义语法。运行最新的 Spring Travel 参考应用程序进行测试,或者比较我们示例流程的旧版本最新版本。您怎么看?许多简化源于增强的 EL 使用以及更简单的动作执行标签。例如,您现在可以使用 EL 执行任何 Spring bean 上的任何方法,以及任何流程变量。
  • 我们引入了与 Spring Security 2 的集成。Spring Travel 参考应用程序展示了如何使用“secured”元素保护流程。您还可以保护状态和转换元素。
  • 2.0 M4 中有几个新的“富 Web”功能。您可以将视图状态标记为“popup”,其视图将为您呈现在一个弹出对话框中(默认为 Dojo 弹出窗口)。您还可以在转换块中使用新的“render”标签,以在处理 Ajax 事件后请求页面的部分渲染。最后,尝试在 Spring Travel 应用程序中关闭 Javascript,并注意应用程序如何继续工作。我们努力构建了对降级支持,这对于无法依赖客户端上 Javascript 可用的客户来说很重要。
  • 我们显著减少了 FlowExecution 键的长度。1.x 版本的键格式使流程执行 URL 看起来像这样:http://localhost/booking?_flowExecutionKey=_c1E11178E-485F-3913-98BA-86E17A09FA3D_kE977CB0B-47FE-3319-A688-FE4F4FFFCE2。默认的 2.0 格式为您提供了更简单的 URL,例如:http://localhost/booking?execution=c1v1,其中第一个数字是您的 conversationId,第二个数字是您的视图(或 continuation)id。当然,URL 格式仍然是可配置的。
  • 还有更多内容值得查看;请参阅发布公告,了解其他新功能的描述。
框架开发人员
Web Flow 的目标之一始终是“专注于做好一件事 [实现流程],并使其易于扩展”。Web Flow 的核心扮演着提供最完整的流程引擎的重任。在此角色中,我们鼓励其他框架提供商在我们工作的基础上进行构建,并让他们告诉我们集成是否不够简便。Grails 社区已经在这样做,他们将 Web Flow 集成到 Grails 中,以便在 Groovy 中实现流程(Grails 基于 Spring MVC 构建,而 Web Flow 是一个自然的 MVC 扩展,因此非常契合)。

为了让框架开发人员更容易集成,我们在 Web Flow 中做了一些工作。首先,主要有三个扩展点:

  1. FlowExecutor SPI 允许 Web Flow 引擎嵌入到另一个环境中,例如 Web 框架。例如,这就是 Web Flow 集成到 Spring MVC 的方式。我们将 Spring MVC 视为权威的基于 Java 的 MVC 平台,但如果您不能将其作为基础,这个钩子就在那里供您使用。
  2. FlowBuilder SPI 允许您引入另一种语法来定义流程。我们的 XmlFlowBuilder 随 Web Flow 分发包一起提供。Graeme Rocher 为 Grails 开发了一个基于 Groovy 的流程构建器。
  3. ViewFactory SPI 允许您将视图框架集成到 Web Flow 中,以便在流程中渲染视图。这就是 Spring Faces 如何为 Web Flow 提供 JSF 支持的方式,也是剑桥大学 RSF 团队如何将 Web Flow 集成到他们的框架中的方式。我能想到使用此扩展点进行集成的其他候选方案包括 Wicket、Flex,以及可能的 GWT。
  4. 这些扩展点在版本 2 中都得到了简化,并且 ViewFactory 扩展点是新的。2.0 M4 还引入了一个新的“AjaxHandler”扩展点,用于集成 Ajax 请求/响应处理,并提供了一个与 Spring Javascript 配合使用的实现。我们目前还在与 IceFaces 团队合作,以便在 2.0 最终版本发布时集成他们的 Ajax 组件库。

    Web Flow 2 的正式发布即将到来。请帮助我们使其尽可能易于使用和扩展!

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

取得进展

VMware 提供培训和认证,助您快速进步。

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部