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 节点的面向方面(Aspect-oriented)的 API。
- 一个小型 JSF 组件库,它在底层使用 Spring.js,通过渐进增强使用 JSF 的 Spring Web 应用程序。 如果客户端不可用 Javascript,此库将降级。 请参阅 Spring Travel 示例以获得说明:关闭 Javascript,然后将其与启用 Javascript 时的应用程序进行比较。
- 支持在标准 Spring MVC 环境中渲染 JSF 视图。 这使得 Facelets 模板可以由普通 Spring MVC 控制器以及流程进行渲染。
请参阅版本中包含的 Spring Travel 参考应用程序,以实际演示所有这些功能。 参考项目可以直接作为动态 Web 项目导入到 Eclipse 中。
1.x 兼容性
给现有 Web Flow 用户特别说明:即将推出的 2.0 RC1 将在 2.0 版本环境中提供对 1.0 版本流程的支持。 这将允许 1.0.x 流程在同一应用程序中与 2.0 版本流程不变地运行。
有关更多信息,请参阅完整的 Web Flow 2 Changelog 和 RoadMap。 我们还鼓励您访问我们的支持论坛和 JIRA 系统,向开发团队提供您对 M4 的反馈。
尽情享用! 2.0 正式版即将发布。
Keith Donald
Web Flow 技术负责人
SpringSource
