每个 Action 类的对象实例都拥有一个 ValueStack对象.ValueStack相当于一个数据的中转站.
在其中保存当前 Action 对象和其他相关对象.
Struts 框架把 ValueStack 对象保存在名为 “struts.valueStack” 的请求属性中
在jsp中,${attrName}读取值,实际上该属性并不request等域对象中,而是从值栈中获取
----------------------------------
可以从ActionContext中获取值栈对象
值栈分为两个逻辑部分:
——Map栈:
实际上是OgnlContext类型,是一个Map,也是对ActionContext的一个引用,里面保存着各种Map
parameters: 该 Map 中包含当前请求的请求参数
request: 该 Map 中包含当前 request 对象中的所有属性
session: 该 Map 中包含当前 session 对象中的所有属性
application:该 Map 中包含当前 application 对象中的所有属性
attr: 该 Map 按如下顺序来检索某个属性: request, session, application
——对象栈:
实际上是CompundRoot类型,是一个使用ArrayList定以的栈,里面保存着各种和
当前Action相关的对象
在其中保存当前 Action 对象和其他相关对象.
Struts 框架把 ValueStack 对象保存在名为 “struts.valueStack” 的请求属性中
在jsp中,${attrName}读取值,实际上该属性并不request等域对象中,而是从值栈中获取
----------------------------------
可以从ActionContext中获取值栈对象
值栈分为两个逻辑部分:
——Map栈:
实际上是OgnlContext类型,是一个Map,也是对ActionContext的一个引用,里面保存着各种Map
parameters: 该 Map 中包含当前请求的请求参数
request: 该 Map 中包含当前 request 对象中的所有属性
session: 该 Map 中包含当前 session 对象中的所有属性
application:该 Map 中包含当前 application 对象中的所有属性
attr: 该 Map 按如下顺序来检索某个属性: request, session, application
——对象栈:
实际上是CompundRoot类型,是一个使用ArrayList定以的栈,里面保存着各种和
当前Action相关的对象