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 行的 flow-application 代码组成。最新的 2.0 M4 版本由两个工件中 93 行代码组成,减少了 50%,并减少了四个需要维护的文件。
- 节省的主要原因是更强大的表达式语言 (EL) 集成以及用于操作执行和数据映射的更简单的标签。
- Spring Security 集成。提供对保护流、状态和转换的完全支持。
新的“currentUser”EL 变量可以轻松地从流定义或视图模板中引用经过身份验证的 Principal。
- Spring MVC 中对流异常处理的灵活支持,包括对自动重新启动已结束或已过期流的默认支持。
- 支持处理不更改当前页面的 Ajax 事件。 新的“render”元素允许您在处理 Ajax 事件后选择性地重新呈现页面的片段。
- 视图变量。 视图变量在其包含的 view-state 进入时分配,并在状态退出时超出范围。这些变量提供页面上下文,对于通过同一页面的一系列 Ajax 请求更新模型特别有用。
- @Autowired 流变量。流变量现在可以通过 Spring 进行 @Autowired 依赖注入,使它们能够保存对 Spring 管理的 @Services 的引用。在变量反序列化后,服务引用会在请求之间自动重新连接。
- 支持弹出窗口。使用 popup=true 标记一个 view-state,当客户端上启用 Javascript 时,它将以模态弹出对话框呈现。
- 从 Web Flow 的 JSF 支持中分解出一个名为“Spring Javascript”的 Javascript 抽象层。目前,提供了基于 Dojo 和 Ext 的该层的实现。Spring.js 提供
- 一个通用的 Ajax 接口,无论底层使用哪个工具包
- 一个面向方面的 API,用于使用行为(包括客户端验证行为)装饰 HTML DOM 节点。
- 一个小的 JSF 组件库,它在底层使用 Spring.js 以逐步增强使用 JSF 的 Spring Web 应用程序。如果客户端上没有 Javascript,此库会降级。请参阅 Spring Travel 示例进行说明:关闭 Javascript 并将应用程序与启用 Javascript 时的应用程序进行比较。
- 支持在标准 Spring MVC 环境中呈现 JSF 视图。这使得 Facelets 模板可以由普通的 Spring MVC 控制器以及 Flows 呈现。
请参阅版本中包含的 Spring Travel 参考应用程序,以实际演示所有这些功能。这些参考项目可以直接作为动态 Web 项目导入到 Eclipse 中。
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