更进一步
VMware 提供培训和认证,以加速您的进步。
了解更多Spring Web Flow 构建于 Spring MVC 之上,允许实现 Web 应用程序的“流程”。流程封装了一系列步骤,引导用户执行某些业务任务。它跨越多个 HTTP 请求,具有状态,处理事务数据,可重用,并且本质上可能是动态和长时间运行的。
Spring Web Flow 的最佳应用场景是具有受控导航的状态 Web 应用程序,例如办理航班登机手续、申请贷款、购物车结账,甚至向表单添加确认步骤。这些场景的共同点是具有以下一个或多个特征
有一个明确的起点和终点。
用户必须按特定顺序浏览一组屏幕。
更改在最后一步之前不会最终确定。
一旦完成,就不应意外重复交易
Spring Web Flow 提供了一种声明式流程定义语言,用于在更高的抽象级别上编写流程。它允许它集成到广泛的应用程序中,而无需任何更改(到流程编程模型),包括 Spring MVC、JSF,甚至 Portlet Web 应用程序。以下是在具有导航要求的状态 Web 应用程序中观察到的常见问题
可视化流程非常困难。
应用程序有大量代码访问 HTTP 会话。
强制执行受控导航非常重要,但不可能。
正确的浏览器后退按钮支持似乎无法实现。
浏览器和服务器在使用“后退”按钮时失去同步。
多个浏览器选项卡导致 HTTP 会话数据的并发问题。
Spring Web Flow 提供了解决上述问题的方案。
要使用 Spring Web Flow,请将以下依赖项添加到您的应用程序。
Maven
<dependencies>
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>spring-webflow</artifactId>
<version>2.5.1.RELEASE</version>
</dependency>
</dependencies>
Gradle
dependencies {
compile 'org.springframework.webflow:spring-webflow:2.5.1.RELEASE'
}