Spring Web Flow 2.0 M4 发布
尊敬的 Spring 社区:
我们很高兴地宣布 Spring Web Flow 2.0 M4 现已推出。 下载 | 文档
此版本巩固了 Web Flow 2 的架构模型,包括 SWF 2 如何与 Spring MVC、JavaServerFaces 和 Ajax 集成。它还引入了许多新功能和改进,包括
2.0 M4 新特性和值得注意的改进
- 引入了简化的 XML 流程定义语法。 请参阅 Spring Travel 参考应用程序以了解新语法的示例。
- 使用版本 2 语法可以将版本 1 流程定义的大小减少多达 50%。例如,Spring Travel 1.0.5 在六个工件中包含约 200 行流程应用程序代码。最新的 2.0 M4 版本在两个工件中包含 93 行代码,减少了 50%,并且减少了四个需要维护的文件。
- 节省主要得益于更强大的表达式语言 (EL) 集成以及用于操作执行和数据映射的更简单的标签。
- Spring Security 集成。提供对保护流程、状态和转换的全面支持。
新的“currentUser”EL 变量使您可以轻松地从流程定义或视图模板中引用已认证的主体。
- 在 Spring MVC 中灵活支持流程异常处理,包括默认支持自动重新启动已结束或已过期的流程。
- 支持处理不更改当前页面的 Ajax 事件。 新的“render”元素允许您在处理 Ajax 事件后选择性地重新渲染页面的片段。
- 视图变量。视图变量在其包含的视图状态进入时分配,并在状态退出时超出范围。这些变量提供页面上下文,并且在从同一页面进行一系列 Ajax 请求更新模型时特别有用。
- @Autowired 流程变量。流程变量现在可以由 Spring 使用其依赖项 @Autowired,使它们能够保存对 Spring 管理的 @Services 的引用。在变量反序列化后,系统会自动为您在请求之间重新连接对服务的引用。
- 支持弹出窗口。使用 popup=true 标记视图状态,当客户端启用 Javascript 时,它将在模态弹出对话框中呈现。
- 将名为“Spring Javascript”的 Javascript 抽象层从 Web Flow 的 JSF 支持中分离出来。目前,提供了 Dojo 和 Ext 的此层的实现。Spring.js 提供
- 无论底层使用哪个工具包,都提供 Ajax 的通用接口
- 用于使用行为装饰 HTML DOM 节点的面向方面 API,包括客户端验证行为。
- 一个小型 JSF 组件库,它在底层使用 Spring.js 来逐步增强使用 JSF 的 Spring Web 应用程序。如果客户端上没有 Javascript,则此库将降级。请参阅 Spring Travel 示例进行说明:关闭 Javascript 并将其与 Javascript 打开时进行比较。
- 支持在标准 Spring MVC 环境中呈现 JSF 视图。这使得 Facelets 模板不仅可以由 Spring MVC 控制器呈现,还可以由流程呈现。
请参阅此版本中包含的 Spring Travel 参考应用程序,以了解所有这些功能的实际演示。参考项目可以直接导入到 Eclipse 中作为动态 Web 项目。
1.x 兼容性
特别注意现有的 Web Flow 用户:即将推出的 2.0 RC1 将在版本 2 环境中提供对版本 1 流程的支持。这将允许 1.0.x 流程在同一应用程序中与版本 2 流程一起运行而无需更改。
有关更多信息,请参阅完整的 Web Flow 2 更改日志 和 路线图。我们还鼓励您访问我们的支持论坛和 JIRA 系统,向开发团队提供您对 M4 的反馈。
享受!2.0 正式版即将推出。
Keith Donald
Web Flow 技术负责人
SpringSource