Spring Web FlowSpring Web Flow3.0.1

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 Boot 配置

要使用 Spring Web Flow,请将以下依赖项添加到您的应用程序中。

Maven

<dependencies>
    <dependency>
        <groupId>org.springframework.webflow</groupId>
        <artifactId>spring-webflow</artifactId>
        <version>{version}</version>
    </dependency>
</dependencies>

Gradle

dependencies {
    compile 'org.springframework.webflow:spring-webflow:{version}'
}
Spring Initializr

快速启动您的项目

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有