什么是ValueStack
它是一个接口com.opensymphony.xwork2.util.ValueStack。我们使用它是将其做为一个容器,用于携带action数据到页面。在页面上通过ognl表达式获取数据。
valueStack主要是将action数据携带到页面上,通过ognl获取数据
- ValueStack有一个实现类叫OgnlValueStack.
- 每一个action都有一个ValueStack.(一个请求,一个request,一个action,一个valueStack) valueStack生命周期就是request生命周期。
- valueStack中存储了当前action对象以及其它常用web对象(request,session,application.parameters)
- struts2框架将valueStack以“struts.valueStack”为名存储到request域中。
valueStack结构
ValueStack中 存在root属性 (CompoundRoot) 、 context 属性 (OgnlContext )!并且context中含有root
- CompoundRoot 就是ArrayList
- OgnlContext 就是 Map
list集合中存储的是action相关信息
map集合中存储的是相关映射信息,包含 paramters,request,session,application attr等。
我们想要从list中获取数据&