领先一步
VMware 提供培训和认证,助您加速进步。
了解更多亲爱的Spring社区,
我们非常高兴地宣布 Spring Web Flow (SWF) 1.0 RC1(发布候选版本 1)已经发布。 下载。
经过一年多的艰苦开发工作、29,000 次下载、500 位论坛用户的 3,700 篇帖子、一本书,以及无数社区驱动的文章和文章,本次发布带来了 Spring Web Flow 的首个 1.0 发布候选版本。 本版本被认为适合生产使用,它巩固了 1.0 API,该 API 将在整个 1.x 系列中保持向后兼容。
感谢 Spring Web Flow 的早期采用者和支持者,感谢你们对我们产品的支持。 得益于你们的反馈和支持,Spring Web Flow 提供了当今最具创新性和最强大的控制器引擎之一。
Spring Web Flow 团队预计在 1.0 最终版之前还会发布一个候选版本。 1.0 RC1 的新特性和值得注意的改进包括...
新特性和值得注意的改进
此支持通过简单的 NumberGuess 示例应用程序进行说明,其中由流管理的“Game”组件执行游戏业务逻辑。 该组件本身对 Spring Web Flow API 没有任何依赖。
为了演示,Game 组件的业务接口可以定义为

与用户一起执行游戏的流定义可能如下所示:

最后,逻辑 game 动作标识符与 Game 实现之间的绑定由 Spring 在 game-beans.xml 中完成。

HigherLowerGame 实现也与 Spring 和 Spring Web Flow API 完全解耦。
增强了对流变量的支持,流启动时自动创建。 流变量值甚至可以从后端 bean 工厂获取,从而受益于完整的依赖注入。 变量的确切范围是可配置的。
一种新的流执行重定向响应类型,用于重定向到唯一的“流执行 URL”。 访问流执行 URL 会在之前进入的 ViewState 刷新流,允许从那里继续。 只要对话处于活动状态且继续点有效,URL 就保持有效。 这允许在不进行页面缓存的情况下完全使用后退、前进、刷新和新窗口按钮。
状态异常处理的改进,方便支持转换执行状态异常处理器。 核心转换元素现在支持一个 on-exception 属性,该属性在发生异常时驱动流转换到新状态。 例如
... 如果 placeOrder 方法抛出 AccountException,则将流转换为 editAccount 状态。
流属性映射支持的改进。 每个流现在都可以配置一个 input-mapper 来映射启动流的调用者提供的输入。 流还可以配置一个 output-mapper 来向终止流的调用者公开返回值。 这些增强功能允许流作为顶级流和子流重用而无需更改,因为输入和输出属性在这两种情况下都一致映射。
支持动态视图名称和目标状态表达式,分别允许方便地在运行时计算 ViewState 的逻辑视图名称和转换的目标状态。
增强的 JSF 集成。 JSF 集成现在支持逻辑重定向响应类型,包括 FlowExecutionRedirect、ConversationRedirect、FlowRedirect 和 ExternalRedirect。 此外,对 FlowPhaseListener 的增强允许启动和刷新流执行,而无需经过正式导航步骤。 1.0 RC2 有望在 Portlet 环境中增加进一步的 JSF 便利性和对 JSF 的官方支持。
附加资源和入门指南
Spring Web Flow 1.0 RC1 进一步完善了参考手册,提供了 50 页专注于 SWF 用法的文档。 该手册可在HTML 和 PDF 格式的在线文档中获取。
开始使用 Spring Web Flow 的最佳方法之一是查看和演练示例应用程序。 我们建议从一开始就查看所有示例,并根据需要补充参考手册材料。 1.0 RC1 版本附带了九 (9) 个示例应用程序,每个应用程序都演示了一组不同的产品功能。 这些示例是
1. Phonebook - 演示大多数功能(包括子流)的原始示例。
2. Sellitem - 演示带有条件转换、流执行重定向、对话范围和延续的向导。
3. Flowlauncher - 演示启动和恢复流的所有可能方式。
4. Itemlist - 演示 REST 风格的 URL、到可刷新对话 URL 的对话重定向和内联流。
5. Shippingrate - 演示 Spring Web Flow 与 Ajax 技术一起使用(感谢 Steven Devijver)
5. NumberGuess - 演示有状态 bean
6. Birthdate - 演示 Struts 集成。
7. Fileupload - 演示多部分文件上传。
8. Phonebook-Portlet - Portlet 环境中的电话簿示例(注意流定义如何保持不变)
9. Sellitem-JSF - JSF 环境中的销售商品示例(注意流定义如何保持不变)
要一步构建用于部署的示例应用程序,只需解压发布存档,访问 projects/build-spring-webflow 目录并执行 ant dist 目标。 有关发布存档内容和示例的更多信息,请分别参阅 release readme.txt 和 projects/spring-webflow-samples/readme.txt。 所有示例项目现在都是 Spring IDE 项目,可以直接导入 Eclipse。 请留意 Spring IDE 团队即将推出的 Spring IDE 图形 Web Flow 编辑器。
感谢所有让 Spring Web Flow 发展至今的人——那些使用它并提供反馈使其更强大的人。 享受吧!
此致,
Spring Web Flow 团队
Keith Donald
Erwin Vervaet
Colin Sampaleanu
Juergen Hoeller
Rob Harrop