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 popup)。您也可以在过渡块中使用新的“render”标签,在处理 Ajax 事件后请求页面的部分渲染。最后,尝试在 Spring Travel 应用程序中关闭 Javascript,并注意应用程序如何继续工作。我们努力构建了对降级支持,这对于那些无法依赖客户端可用 Javascript 的客户来说非常重要。
  • 我们显著缩短了 FlowExecution 键的长度。1.x 的键格式使流执行 URL 看起来像这样:https:///booking?_flowExecutionKey=_c1E11178E-485F-3913-98BA-86E17A09FA3D_kE977CB0B-47FE-3319-A688-FE4F4FFFCE2。默认的 2.0 格式为您提供了更简单的 URL,例如:https:///booking?execution=c1v1,其中第一个数字是您的 conversationId,第二个数字是您的 view(或 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.0 版本中都得到了简化,而 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 社区所有即将举行的活动。

查看所有