Spring Web Flow3.0.0

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>2.5.1.RELEASE</version>
    </dependency>
</dependencies>

Gradle

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

快速启动您的项目

抢先一步

VMware 提供培训和认证,以加速您的进度。

了解更多

获取支持

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

了解更多

即将举行的活动

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

全部查看