10. 变量作用域 Web Flow 可以将变量存储在以下几种作用域之一中:spring-doc.cadn.net.cn Flow Scopespring-doc.cadn.net.cn 视图作用域spring-doc.cadn.net.cn 请求作用域spring-doc.cadn.net.cn Flash Scopespring-doc.cadn.net.cn 会话范围spring-doc.cadn.net.cn 10.1. 流程范围 Flow scope 在流程开始时分配,并在流程结束时销毁。 对于默认实现,存储在 flow scope 中的任何对象都需要可序列化。spring-doc.cadn.net.cn 10.2. 视图作用域 当 view-state 进入时分配视图范围,并在状态退出时销毁。 视图范围只能从 view-state 内部引用。 在默认实现中,存储在视图范围中的任何对象都需要可序列化。spring-doc.cadn.net.cn 10.3. 请求范围 请求范围在调用流时分配,并在流返回时销毁。spring-doc.cadn.net.cn 10.4. Flash 范围 Flash 范围在流程开始时分配,在每次视图渲染后清除,并在流程结束时销毁。 使用默认实现时,存储在 Flash 范围中的任何对象都需要可序列化。spring-doc.cadn.net.cn 10.5. 会话范围 当顶级流开始时分配对话范围,并在顶级流结束时销毁。 对话范围由顶级流及其所有子流共享。 对于默认实现,对话范围的对象存储在HTTP会话中,通常应可序列化以适应典型的会话复制。spring-doc.cadn.net.cn 10.6. 选择一个作用域 使用的作用域通常由上下文决定 — 例如,取决于变量的定义位置:在流程定义的开头(flow 作用域)、视图状态内部(view 作用域)等等。 在其他情况下(例如,在 EL 表达式和 Java 代码中),必须显式指定。 后续部分将解释如何完成此操作。spring-doc.cadn.net.cn Spring Web Flow Reference Guide 10. 变量作用域 9. 变量 11. 调用子流程