10. 变量范围

Web Flow 可以将变量存储在以下几个范围之一中:spring-doc.cn

10.1. 流范围

流范围在流开始时分配,在流结束时销毁。 使用默认实现,存储在 flow scope 中的任何对象都需要是可序列化的。spring-doc.cn

10.2. 查看范围

View 作用域在 a 进入时分配,在 state 退出时销毁。 视图范围只能从 . 使用默认实现,存储在视图范围内的任何对象都需要是可序列化的。view-stateview-statespring-doc.cn

10.3. 请求范围

请求范围在调用流时分配,并在流返回时销毁。spring-doc.cn

10.4. Flash 范围

Flash 范围在流启动时分配,在每次视图渲染后清除,并在流结束时销毁。 使用默认实现,存储在 flash scope 中的任何对象都需要是可序列化的。spring-doc.cn

10.5. 对话范围

对话范围在顶级流开始时分配,并在顶级流结束时销毁。 对话范围由顶级流及其所有子流共享。 使用默认实现,对话范围的对象存储在 HTTP 会话中,并且通常应该是可序列化的,以考虑典型的会话复制。spring-doc.cn

10.6. 选择范围

要使用的范围通常是根据上下文确定的,例如,取决于变量的定义位置:在流程定义的开头(流程范围)、在视图状态内(视图范围)等等。 在其他情况下(例如,在 EL 表达式和 Java 代码中),您必须显式指定它。 后续部分将说明如何执行此操作。spring-doc.cn