Spring Web Flow 2.0 M4 - 征求反馈

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

Web Flow 团队一直在努力开发 Web Flow 2。我们刚刚达到了第4个里程碑,并将尽早于下周进入候选发布阶段。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 旅行”行程预订应用程序的不同版本。一个版本显示 Web Flow 与 JSP 视图集成到 Spring MVC 中,另一个版本显示 Web Flow 与 JSF 视图集成到 Spring MVC 中。(参见:如何部署

2.0 版本的一个主要主题是易用性。Web Flow 2.0 M4 引入了许多简化流程实现的新功能,我们非常乐意听到您对此的反馈。具体来说:

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

我们在 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 社区中所有即将举行的活动。

查看全部