领先一步
VMware 提供培训和认证,以加快您的进步。
了解更多尊敬的 Spring 社区:
我们很高兴地宣布 Spring Web Flow (SWF) 1.0 RC3(发布候选版本 3)已发布。 下载 | 文档 | 变更日志
此稳定版本包含错误修复和次要改进。 目前,我们预计这将是 Spring Web Flow 1.0 正式版之前的最后一个候选版本,正式版即将发布。值得注意的改进包括……
值得注意的改进
改进的流程异常层次结构。 总体而言,异常层次结构现在更清晰地组织了从流程定义访问(FlowLocatorException)到运行时流程执行(FlowExecutionException)和执行持久化(FlowExecutionRepositoryException)的故障类别。
改进对 Portlet 环境中“后退”按钮使用的支持。 结合基于延续的存储库,SWF 支持在 Portlet 环境中完全使用浏览器导航按钮(后退、刷新),同时流程保持活动状态。当流程执行终止时,浏览器刷新将自动触发启动新的执行。
更简单的默认 JSF 视图映射。 现在,默认情况下,SWF 视图名称应与 JSF 视图 ID 完全对应。您将在 sellitem-jsf 示例中看到此默认值——请注意视图是如何像标准 JSF 导航处理程序一样以“/priceAndItemCountForm.jsp”的形式引用的。这允许自然支持其他 JSF 视图技术,例如 Facelets,并且对于 JSF 开发人员来说是一个更自然的默认值。如果您需要自定义映射 SWF 到 JSF 视图的映射,请将自定义 ViewIdMapper 插入到您的 FlowPhaseListener 中。
示例应用程序简化。 我们简化了 fileupload、flowlauncher、birthdate 和 sellitem 示例,以利用 Spring Web Flow 的最新功能和最佳实践。
潜在的用户影响变化
在 1.0 正式版发布的道路上,1.0 RC3 有几个潜在的用户影响变化。以下部分对此进行了说明
为简化起见,已删除 FormAction 属性“validateUsingValidatorMethod”。 经验表明,此属性是新用户混淆的来源。作为更好的替代方案,要执行不带验证的数据绑定操作,只需从流程定义中调用“bind”操作方法。当您需要分段验证器验证时,只需使用“validatorMethod”属性设置为特定验证器方法调用“bindAndValidate”或“validate”。请参阅 sellitem 以获取示例。
StateExceptionHandler 已重命名为“FlowExecutionExceptionHandler”。这会影响自定义处理程序实现。要进行升级,只需实现新接口;签名在逻辑上相同。
FlowExecutorImpl 的“redirectOnPause”属性现在接受布尔值而不是 RedirectType 枚举。 截至 1.0 RC2,SWF 中只有一种重定向类型——流程执行重定向。将此标志设置为“true”将在每次流程执行通过进入视图状态暂停时触发它。请参阅 Numberguess 或 sellitem 以获取示例。
--------
开始使用 Spring Web Flow 的最佳方法之一是查看并演练示例应用程序。我们建议从一开始就查看所有示例,并根据需要补充参考手册资料。1.0 RC3 版本附带十个示例应用程序,每个应用程序都演示了一组不同的产品功能。这些示例是
1. Phonebook - 演示大多数功能(包括子流程)的原始示例
2. Sellitem - 演示带有条件转换、流程执行重定向、会话范围和延续的向导
3. Flowlauncher - 演示启动和恢复流程的所有可能方法
4. Itemlist - 演示 REST 样式 URL 和内联流程
5. Shippingrate - 演示 Spring Web Flow 与 Ajax 技术结合使用(感谢 Steven Devijver)
6. NumberGuess - 演示有状态 Bean 和“单键”流程执行重定向。
7. Birthdate - 演示 Struts 集成
8. Fileupload - 演示多部分文件上传
9. Phonebook-Portlet - Portlet 环境中的 phonebook 示例
(请注意流程定义没有变化)
10. Sellitem-JSF - JSF 环境中的 sellitem 示例
享受!
Spring Web Flow 团队
Keith Donald