领先一步
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" 动作方法即可。 当您需要分步验证时,只需调用 "bindAndValidate" 或 "validate",并将 "validatorMethod" 属性设置为特定的验证器方法即可。 请参阅 sellitem 示例。
StateExceptionHandler 已重命名为 "FlowExecutionExceptionHandler"。 这会影响自定义处理程序实现。 要升级,只需实现新的接口;其签名在逻辑上是相同的。
FlowExecutorImpl 的 "redirectOnPause" 属性现在接受布尔值而不是 RedirectType 枚举。 从 1.0 RC2 开始,SWF 中只有一种重定向类型——流程执行重定向。 将此标志设置为“true”会在每次流程执行通过进入视图状态而暂停时触发它。 请参阅 Numberguess 或 sellitem 示例。
--------
开始使用 Spring Web Flow 的最佳方法之一是查看和演练示例应用程序。 我们建议从一开始就查看所有示例,并根据需要补充参考手册材料。1.0 RC3 版本附带了十个示例应用程序,每个都展示了不同的产品功能集。 这些示例是:
1. 电话簿 - 展示大多数功能(包括子流程)的原始示例
2. 销售商品 - 展示带条件转换、流程执行重定向、会话作用域和延续的向导
3. 流程启动器 - 展示启动和恢复流程的所有可能方式
4. 商品列表 - 展示 REST 风格 URL 和内联流程
5. 运费 - 展示 Spring Web Flow 与 Ajax 技术结合(感谢 Steven Devijver)
6. 猜数字 - 展示有状态 bean 和“单键”流程执行重定向。
7. 生日 - 展示 Struts 集成
8. 文件上传 - 展示多部分文件上传
9. 电话簿-Portlet - Portlet 环境中的电话簿示例
(请注意流程定义没有变化)
10. 销售商品-JSF - JSF 环境中的销售商品示例
祝您使用愉快!
Spring Web Flow 团队
Keith Donald