领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多尊敬的 Spring 社区:
我们非常高兴地宣布 Spring Web Flow (SWF) 1.0 RC1(候选发布版 1)已发布。 下载。
经过一年多的艰苦开发工作,29,000 次下载,500 位论坛用户发表了 3,700 多篇文章,一本书,以及众多社区-驱动文章,此版本提供了 Spring Web Flow 的第一个 1.0 候选发布版。此版本被认为适合用于生产环境,巩固了将在整个 1.x 系列中保持向后兼容的 1.0 API。
感谢支持我们产品的 Spring Web Flow 早期采用者和拥护者。由于您的反馈和支持,Spring Web Flow 提供了当今最具创新性和功能强大的控制器引擎之一。
Spring Web Flow 团队预计在 1.0 正式版发布之前发布一个候选发布版。1.0 RC1 中的新增功能包括...
新增功能
简单的NumberGuess示例应用程序说明了此支持,其中由流管理的“游戏”组件执行游戏业务逻辑。组件本身与 Spring Web Flow API 没有任何依赖关系。
为了演示,Game 组件的业务接口可以定义为
执行与用户一起执行 Game 的流定义可能如下所示:
最后,逻辑game操作标识符与 Game 实现之间的绑定由 Spring 在game-beans.xml中进行。
HigherLowerGame 实现也完全与 Spring 和 Spring Web Flow API 解耦。
增强了对流变量的支持,这些变量在流启动时自动创建。流变量值甚至可以来自后备 bean 工厂,从而受益于那里的完全依赖注入。变量的确切范围是可配置的。
一种新的流执行重定向响应类型,用于重定向到唯一的“流执行 URL”。访问流执行 URL 会在之前输入的 ViewState 处刷新 Flow,允许从那里继续。只要会话处于活动状态并且继续点仍然有效,URL 就保持有效。这允许在不进行页面缓存的情况下充分利用后退、下一步、刷新和新窗口按钮。
改进了状态异常处理,并方便地支持执行转换的状态异常处理程序。核心转换元素现在支持一个on-exception属性,该属性在发生异常时驱动到新状态的转换。例如
...如果 placeOrder 方法抛出 AccountException,则将流转换到 editAccount 状态。
改进了流属性映射支持。现在,每个流都可以配置一个输入映射器来映射启动流的调用者提供的输入。流还可以配置一个输出映射器来向终止流的调用者公开返回值。这些增强功能允许将流作为顶级流和子流重用而无需更改,因为输入和输出属性在两种情况下都一致地映射。
支持动态视图名称和目标状态表达式,分别允许方便地基于运行时计算 ViewState 的逻辑视图名称和转换的目标状态。
增强的 JSF 集成。JSF 集成现在支持逻辑重定向响应类型,包括 FlowExecutionRedirect、ConversationRedirect、FlowRedirect 和 ExternalRedirect。此外,对 FlowPhaseListener 的增强允许在不执行正式导航步骤的情况下启动和刷新流执行。预计 1.0 RC2 将在 Portlet 环境中为 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 环境中的 phonebook 示例(注意流定义没有改变)
9. Sellitem-JSF - JSF 环境中的 sellitem 示例(注意流定义没有改变)
要一步构建用于部署的示例应用程序,只需解压缩发布存档,访问projects/build-spring-webflow目录并执行 ant dist 目标。有关发布存档内容和示例的更多信息,请参阅发布 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