Spring Web Flow 1.0 RC3 发布
尊敬的 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 中。
示例应用程序简化。 我们简化了文件上传、流程启动器、出生日期和 sellitem 示例,以利用 Spring Web Flow 的最新功能和最佳实践。
潜在的用户影响更改
在 1.0 RC3 中,在通往 1.0 正式版的道路上,有一些潜在的用户影响更改。以下部分将对此进行说明。
FormAction 属性“validateUsingValidatorMethod”已移除以简化操作。 经验表明,此属性是新用户混淆的来源。作为更好的替代方案,要执行不带验证的数据绑定操作,只需从流程定义中调用“bind”操作方法即可。当您需要分段的 Validator 验证时,只需使用“validatorMethod”属性设置为特定的验证器方法调用“bindAndValidate”或“validate”即可。请参阅 sellitem 以获取示例。
StateExceptionHandler 已重命名为“FlowExecutionExceptionHandler”。 这会影响自定义处理程序实现。要进行升级,只需实现新的接口即可;签名在逻辑上是相同的。
FlowExecutorImpl 的“redirectOnPause”属性现在接受布尔值而不是 RedirectType 枚举。 从 SWF 1.0 RC2 开始,只有一个重定向类型——流程执行重定向。将此标志设置为“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 DonaldErwin Vervaet
Juergen Hoeller
Colin Sampaleanu
Rob Harrop