Spring 2.0 RC2 发布

版本发布 | Juergen Hoeller | 2006 年 7 月 6 日 | ...

亲爱的 Spring 社区,

我们很高兴地宣布 Spring 2.0 RC2 已发布。  下载 | 文档 | 变更日志

这是 Spring 2.0 正式版之前的第二个发布候选版。它引入了一些错误修复和细微改进,特别是在 AOP 框架和 JPA 支持方面。详情请参阅变更日志。未来的 2.0 RC3 版本将解决更多已知问题;详情请参阅我们的 JIRA 路线图。

请使用您的应用程序尝试此版本,并告知我们您可能遇到的任何问题!重要的是要强调,Spring 2.0 提供与 Spring 1.x 系列的向后兼容性。  Spring 2.0 也继续支持 JDK 1.3+J2EE 1.3+(甚至 J2EE 1.2+,但 JSP 标签和 EJB 支持除外)。兼容性对我们的用户群至关重要,我们致力于提供兼容性。因此,我们也乐于了解在任何此类平台上可能出现的兼容性问题。

感谢所有在此版本发布前提供的反馈。  我们期待在 2.0 GA 大版本发布日期之前获得更多类似反馈!

敬上,

Juergen Hoeller
Spring 2.0 产品开发负责人

Spring Web Flow 1.0 RC3 发布

版本发布 | Keith Donald | 2006 年 6 月 26 日 | ...
 

亲爱的 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" 动作方法。  当您需要分阶段的 Validator 验证时,只需调用 "bindAndValidate" 或 "validate",并将 "validatorMethod" 属性设置为特定的验证方法。  请参阅 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 环境中的电话簿示例
(注意流定义没有改变)
10. Sellitem-JSF - JSF 环境中的 sellitem 示例

愉快!

Spring Web Flow 团队

Keith Donald
Erwin Vervaet
Juergen Hoeller
Colin Sampaleanu
Rob Harrop

Spring 2.0 RC1 发布

版本发布 | Juergen Hoeller | 2006 年 6 月 21 日 | ...

亲爱的 Spring 社区,

我们很高兴地宣布 Spring 2.0 RC1 已发布。  下载 | 文档 | 变更日志

这是 Spring 2.0 在过去六个月内的五个里程碑版本之后的第一个发布候选版。这个稳定版本正在等待广泛的用户反馈,以便向定于 7 月初发布的 2.0 最终版迈进。

Spring 2.0 的主要新主题是

  1. 简化的配置 - 您会发现配置应用程序所需的总代码量大大减少。  您编写的代码是高级的、特定于领域的,受益于智能默认设置以及丰富的验证和工具支持。

  2. 强大的 AOP 统一 - 您可以使用 AspectJ 简洁地将切面织入到对象之前、之后和周围,同时仍然受益于 Spring AOP 运行时的简单性。

  3. JSR 220 Java 持久化架构 (JPA) - 为您提供持久化提供程序实现的选择。  Spring 是第一个在 JEE 和 JSE 环境中都支持 JPA 的框架,并且两者之间具有完全的可移植性。

  4. 异步 JMS 消息传递 - 消息驱动 POJO 为 JSE 环境带来了轻量级的异步组件,并提供了 JMS 提供程序的选择。

  5. JSR-168 Portlets - Spring Portlet MVC 提供了一个用于开发 JSR 168 portlet 的框架,其中包括与 Spring Web Flow 集成以协调用户交互。

重要的是要强调,Spring 2.0 提供与 Spring 1.x 系列的向后兼容性。  兼容性对我们的用户群至关重要,我们致力于提供兼容性。

这些领域的更多主要新特性包括...

配置简化
  • 基于 XML schema 的 bean 定义,以及开箱即用的 XML 命名空间,用于简化常见配置任务
  • 支持应用上下文中的扩展 bean 作用域,主要目标是 web 请求和会话作用域
  • Bean 定义增强:bean 类的延迟加载、集合合并以及智能错误消息
AOP
  • 基于 XML schema 命名空间的简化 AOP 配置
  • 支持 AspectJ 切点表达式语言和 @AspectJ 风格的切面
  • 支持对任何对象(包括细粒度领域对象)的依赖注入(基于 AspectJ)
持久化和 JPA
  • 增强的 JDBC 支持:命名 SQL 参数,基于泛型的 SimpleJdbcTemplate
  • 明确支持 Hibernate 3.1 和 3.2(同时保持与 Hibernate 3.0 兼容)
  • 支持 Java 持久化 API (JPA),包括完整的容器契约和类 instrumentaion
调度和消息传递
  • 用于提交异步工作的 TaskExecutor 抽象
  • 支持各种线程池,例如 Java 5 ThreadPoolExecutor 和 CommonJ WorkManager
  • 基于消息监听容器的异步 JMS 支持(“消息驱动 POJO”)
Web 应用开发
  • 基于约定的 web MVC:控制器映射、模型属性名称
  • 用于 Spring Web MVC 和 Spring Web Flow 的 JSP 表单标签库
  • 完全支持 Portlet 环境,包括基于 DispatcherPortlet 的 Portlet 风格 MVC

... 以及许多许多细节方面的改进。

要查看其中许多功能的实际应用,请查阅发布分发包中 samples/jpetstore 目录下的 JPetstore 参考应用。  有关更多详细信息,请参阅参考文档的2.0 中的新特性?部分。

我们将在未来几天与 Maven2 社区合作,将 2.0 RC1 上传到 Maven 仓库。

感谢 Spring 社区为本次发布提供的所有反馈。  我们期待您在 2.0 GA 大版本发布日期前提供更多反馈!

祝好, 

Juergen Hoeller
Spring 2.0 产品开发负责人

Spring Web Services 1.0 M1 发布

版本发布 | Arjen Poutsma | 2006 年 6 月 12 日 | ...

亲爱的 Spring 社区,

我很高兴宣布 Spring Web Services 1.0 M1 已发布。 下载 | 文档 | 变更日志

此版本是 Spring-WS 的第一个里程碑:这是 Spring 社区的一款产品,专注于创建文档驱动的 Web 服务。

Spring-WS 1.0 M1 包括

  • 基于 Apache Axiom 的流式 SOAP 消息模型,
  • 与 Acegi 集成的 WS-Security 支持,
  • JAXB 2.0 marshaller 支持,
  • 自 0.9.1 以来发现的许多问题的进一步改进和修复。

详情请参阅变更日志

有关 Spring-WS 及其目标的更多信息,请参阅Spring-WS 主页

Spring Web Flow 1.0 RC2 发布

版本发布 | Keith Donald | 2006 年 6 月 10 日 | ...


 

亲爱的 Spring 社区,

我们很高兴地宣布 Spring Web Flow (SWF) 1.0 RC2(发布候选版 2)已发布。  下载 | 文档 | 变更日志

此版本包含错误修复和少量改进。   1.0 RC2 的新特性和值得注意的变化包括...

新特性和值得注意的变化

支持以可配置方式将新启动的流执行的输入从其调用环境中传递。  默认情况下,所有请求参数都作为输入公开。  流可以使用其输入映射器将此输入映射到其本地作用域。  此映射器定义了流的输入契约,无论流是作为顶层流  还是作为子流启动,该契约都是一致的。

考虑以下请求 URL 作为示例

http://localhost:8080/flights/search-flow?flightNumber=12345

默认情况下,访问此 URL 时,支持的 FlowExecutor 会将 "flightNumber" 请求参数放入一个“输入映射”中。  然后,输入映射被传递给 "search-flow" 的新执行。

在 search-flow 定义中

<flow start-state="executeSearch">
    <input-mapper>
        <mapping source="flightNumber" target="flowScope.flightNumber"/>
    </input-mapper>

    ...
</flow>
上面的 <input-mapper> 定义了流的输入契约,声明此流支持一个 "flightNumber" 输入属性。  启动时如果提供了 flightNumber,它将被映射到 "flowScope" 下的 "flightNumber" 名称。  映射器还能够在映射操作期间执行类型转换。

要自定义流执行输入映射的填充,例如,从请求路径或其他外部源拉取属性,请配置 "FlowExecutorImpl.inputMapper" 属性。

支持在 JSR168 Portlet 环境中的流执行和外部重定向。  结合基于延续的仓库,这允许在 Portlet 环境中使用浏览器导航按钮(后退、刷新)。  此外,在 Portlet 环境中,我们现在公开了一个 "globalSessionMap" 属性,用于访问 Portlet Session APPLICATION_SCOPE 中的属性。

一个名为 "SingleKeyFlowExecutionRepositoryFactory" 的新仓库工厂。 此实现为每个持久化的流执行生成一个唯一的标识符。  这对于实现 1.0 EA 的“会话重定向”语义很有用——即在每次 POST 后,REDIECT-GET 会命中一个稳定的“流执行 URL”,该 URL 中嵌入了常量流执行键。  请参阅 NumberGuess 示例进行说明。

引入了一个独立的“会话”子系统,提供的流执行仓库实现将逻辑会话的划分委托给它,用于管理流执行状态。  这个会话子系统与 Spring Web
Flow 的其余部分完全解耦,可以在 SWF 之外使用,并可能随着时间演变为独立的模块。 
核心服务接口包括

public interface ConversationService {
    public Conversation beginConversation(ConversationParameters parameters);
    public Conversation getConversation(ConversationId id);
    public ConversationId parseConversationId(String encodedId);
}


public interface Conversation {
    public ConversationId getId();
    public void lock();
    public void end();
    public Object getAttribute(String name);
    public void setAttribute(String name, Object value);
    public void removeAttribute(String name);
    public void unlock();
}
当启动一个新的流执行并且需要在一个请求之外持久化时,仓库会调用 "beginConversation" 来启动一个新的逻辑
会话,并将属性放入会话作用域以跟踪执行状态。  同样,当流执行结束时,主导的会话也结束,并且清理所有分配的状态。

将来,我们希望在此系统中提供强大的功能,包括通过 JMX 进行会话监控和管理,以及会话历史记录和统计信息。  我们还希望证明它适用于 Spring Web Flow 之外的其他环境。  特别感谢 Juergen Hoeller 和 Ben Hale 在设计这个可移植会话服务抽象方面的帮助。


潜在影响用户的变更

在通往 1.0 最终版本的道路上,1.0 RC2 有一些潜在的影响用户的变更。  以下部分对此进行说明

在 spring-webflow-dtd 中,我们将 '<action/>' 元素的属性 'resultName' 和 'resultScope' 分别重命名为 'result-name' 和 'result-scope',以便与其他属性和元素名称保持一致。

为了简化,移除了 FormAction 属性 "bindOnSetupForm" 和 "validateOnBinding"。  经验表明这些属性很少使用,并且对于新用户来说一直是混淆的来源。  一个更好的替代方案是,要在进入视图状态之前执行数据绑定操作,只需从您的流定义中调用 "bind" 动作方法。  要计算 bindAndValidate 尝试是否应该进行验证,请覆盖唯一的 "validationEnabled(RequestContext)" 钩子。

移除了 FormAction 的 "exposeFormObject" 动作方法。  只需使用更推荐的 "setupForm"。

简化了 FlowExecutionRepository 和 FlowExecutor SPI 接口。  现在,更多的逻辑封装在 FlowExecutionRepository 之后,包括生成的 FlowExecutionKeys 的结构和格式。  此外,FlowExecutionRepository 现在严格负责管理持久化的流执行,不再负责其他任何事情。  SWF 核心不再知道“会话”的额外概念。  这意味着几件事

  • 整体仓库接口更简单,更容易创建带有自定义 FlowExecutionKeys 的自定义 FlowExecutionRepositories。
  • SWF 核心词汇更强:流执行器调用流执行来执行流。  在一个请求之外保持活动的执行会持久化到仓库中。
  • 默认的仓库实现选择委托给一个独立的“会话子系统”来跟踪由执行系统驱动的会话状态,但对该系统的依赖是完全封装的并且是可选的。

FlowExecutor 接口,即进入 SWF 的入口点,也为调用者进行了简化。  它现在封装了对复杂内部类型(如)的了解
EventIds 和 FlowExecutionKeys,因此总体上更容易使用。

同样地,移除了对显式“会话重定向”的支持。  这意味着移除了 "conversationRedirect:" 的
'view' 前缀和 "CONVERSATION" RedirectType。  要在 1.0 RC2 中实现相同的逻辑重定向语义,只需配置一个 FlowExecutor,其 redirectOnPause 类型为 FLOW_EXECUTION,并使用以下 repositoryFactory:
SingleKeyFlowExecutionRepositoryFactory。
--

Spring Web Flow 1.0 RC2 进一步完善了参考手册,提供了 50 页关于 SWF 用法的内容。  手册可在网上以 HTML 和 PDF 格式获取。

开始使用 Spring Web Flow 的最佳方法之一是回顾和演练示例应用。  我们建议从一开始就回顾所有示例,并根据需要补充参考手册材料。1.0 RC2 版本附带了十个示例应用,每个都演示了不同的产品功能集。  这些示例是

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 环境中的电话簿示例
(注意流定义没有改变)
10. Sellitem-JSF - JSF 环境中的 sellitem 示例

要一步构建示例应用以进行部署,只需解压发布存档,访问 projects/spring-webflow/build-spring-webflow 目录并执行 "ant dist" 目标。  请参阅发布版本的 readme.txt 和
projects/spring-webflow/spring-webflow-samples/readme.txt,分别了解有关发布存档内容和示例的更多信息。
所有示例项目都是可直接导入 Eclipse 的 Spring IDE 项目。

感谢所有支持此版本的人。  目前,我们预计 SWF 的下一个版本将是针对 6 月下旬的 1.0 最终版
时间框架。  如果有必要,仍然有可能发布另一个 1.0 发布候选版。  请务必关注 SWF 主页和
论坛以获取更新。

愉快!

Spring Web Flow 团队

Spring Web Flow 1.0

版本发布 | Keith Donald | 2006 年 6 月 10 日 | ...

 

产品负责人
Keith Donald, SpringSource
Erwin Vervaet, Ervacon
 
Spring Web Flow 是下一代 Java Web 应用控制器框架,它允许开发者将用户操作建模为称为流(flow)的高级模块,这些模块可以在任何环境中运行。  该框架提高了生产力和可测试性,同时为强制执行导航规则和管理应用程序状态提供了强大的解决方案。  

整体视图

Spring Web Flow 允许开发者构建可重用、自包含的…

Spring IDE 1.3.1 发布

版本发布 | Torsten Juergeleit | 2006 年 6 月 8 日 | ...

亲爱的 Spring 社区,

我们很高兴地宣布 Spring IDE 1.3.1 已发布。

此版本的 Spring IDE 提供了大量错误修复。完整列表请访问 http://springide.org/project/milestone/Release%201.3.1

变更

  • 现在只有在您想使用 Web Tools 时才需要 BeansXmlEditor
  • 修复了图像缓存中的资源泄漏
  • 更新到 Spring 1.2.8

更多详细信息可从项目网站获取 http://springide.org/

使用 Eclipse 的更新管理器从项目更新站点 安装 此版本 http://springide.org/updatesite/

提交错误报告工单可在…

Acegi Security 1.0.0 已发布

版本发布 | Ben Alex | 2006 年 5 月 30 日 | ...

经过两年半多的开发,我很高兴宣布 Acegi Security 1.0.0 现已正式发布。

下载 | 文档 | 变更日志 

除了自 1.0.0 RC2 以来的 80 多项改进和修复之外,这个新版本还包含了一些旨在帮助新用户的变更。这包括对参考指南进行了重大重组和扩展(现在已超过 90 页),以及一个新的“精简版”教程示例应用。

此外,许多新用户经常遇到的问题也得到了解决,例如

  • 自定义 403 消息(而不是使用 Servlet 容器的错误处理程序)
  • 检测 XML 文件重新格式化后损坏的属性输入
  • 一个新的登出过滤器。 

我们还重构了 LDAP 服务,使 SecurityContextHolder 成为一个可插拔策略(对于希望避免 ThreadLocal 的富客户端特别有用),并改进了 CAS 支持。

请访问此处查看详细的变更日志。一如既往,发布 ZIP 文件中包含详细的升级说明。

项目网站 http://acegisecurity.org 提供了关于 Acegi Security 功能的额外信息、在线文档访问以及最新版本下载链接。下个月我将在 SpringOne 会议上进行 Acegi Security 的演示,期待在那里见到您。

Spring Framework 1.2.8 发布

版本发布 | Juergen Hoeller | 2006 年 5 月 8 日 | ...

亲爱的 Spring 社区,

我们很高兴宣布 Spring 1.2.8 已发布。 下载 | 文档 | 变更日志

这是一个维护版本,修复了之前 1.2.x 版本中发现的一些问题。这些修复大部分已从 2.0 M4 反向移植,因此在那里已经可用。详情请参阅变更日志

Juergen
-----
Juergen Hoeller
Spring Framework 开发负责人
Interface21 首席架构师
http://www.springframework.org
http://www.interface21.com

Spring Web Flow 1.0 RC1 发布

版本发布 | Keith Donald | 2006 年 5 月 3 日 | ...

Spring Web Flow Logo

亲爱的 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 的新特性和值得注意的变化包括...

新特性和值得注意的变化

改进了对有状态业务组件的管理支持。  Spring Web Flow 现在采用了几种技术来管理执行业务逻辑的有状态中间层组件实例,作为任务执行的一部分。  在大多数情况下,状态管理是完全透明的。  您只需将应用程序状态存储在实例变量中,Spring Web Flow 会以线程安全的方式处理该状态在会话中的作用域。

简单的 NumberGuess 示例应用说明了此支持,其中由流管理的“Game”组件执行游戏业务逻辑。  组件本身对 Spring Web Flow API 没有依赖。

 为了演示,Game 组件的业务接口可以定义为

Game interface

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

 Game flow

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

 Game beans

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 添加更多便利性和官方支持。

附加资源和入门指南

Spring Web Flow 1.0 RC1 进一步完善了参考手册,提供了 50 页关于 SWF 用法的重点内容。 该手册可在 HTMLPDF 格式在线获取。

开始使用 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 环境中的 Sellitem 示例(请注意,流定义没有改变)

要一步构建示例应用程序以进行部署,只需提取发行版存档,访问 projects/build-spring-webflow 目录并执行 ant dist 目标。 有关发行版存档内容和示例的更多信息,请分别参阅 release readme.txt 和 projects/spring-webflow-samples/readme.txt。 所有示例项目现在都是 Spring IDE 项目,可以直接导入 Eclipse。 敬请期待 Spring IDE 团队即将推出的 Spring IDE 图形化 Web 流编辑器。

感谢所有使用 Spring Web Flow 并提供反馈使其更强大的人们,感谢大家让 Spring Web Flow 成就今日的辉煌。 祝大家使用愉快!

诚挚地,

Spring Web Flow 团队

Keith Donald
Erwin Vervaet
Colin Sampaleanu
Juergen Hoeller
Rob Harrop

获取 Spring 新闻通讯

订阅 Spring 新闻通讯保持联系

订阅

抢先一步

VMware 提供培训和认证,助您快速进步。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部