Spring WebFlow
Spring Web Flow 有助于构建需要导航的 Web 应用程序,例如购物车、航班登记、贷款应用程序和许多其他应用程序。与无状态的、自由形式的导航相比,这种用例有一个清晰的起点和终点,一个或多个页面要按照特定的顺序进行,还有一组更改没有最终确定。
一个显著的特性是能够定义由状态、转换和数据组成的流定义。例如,视图状态对应于流的各个屏幕,而转换是由单击按钮或链接导致的事件引起的。数据可以存储在诸如flash、view、flow等作用域中。作用域数据不再在作用域中时将被清除。
在REST术语中,流表示为单个资源。用于启动流的同一URL也是用于单步执行流的URL(还有一个唯一标识当前流实例的执行键)。由于这种方法,导航仍然封装在流定义中。
使用 Spring Web Flow 的一些关键好处:
- web应用程序中使用“长对话”模型的流抽象
- 导航规则的正确封装
- 保存数据的多个作用域
- 自动使用POST/REDIRECT/GET模式以避免浏览器警告
- 无法通过“浏览器返回”按钮返回到已完成的流会话
- 流程需求的快速原型
- 动态检测流定义更改的开发模式
- 流定义的IDE可视化
评论