valuestack 和 actioncontext 是什么关系

 我来答
爱的轩言521
2017-05-25 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1万
采纳率:90%
帮助的人:1651万
展开全部
ValueStack实际上就是一个容器。它由Struts框架创建,当前端页面如jsp发送一个请求时,Struts的默认拦截器会将请求中的数据进行封装,并入ValueStack的栈顶。
中文名
值栈空间
外文名
ValueStack
Struts2在启动时,会创建一个ValueStack对象 当用户发送请求到对应的Action时,Struts2会把当前被请求的Action01放入CompoundRoot 对象的“栈空间”栈顶,请求结束,Action01会被清除。 (当下一次另一个请求到来时,Struts2会把该请求对应的Action02放入“栈顶”) 所以,我们可以通过Ognl表达式访问CompoundRoot对象栈顶的Action。
Struts2在请求到来时,首先会创建一个ValueStack; 然后,把当前的Action对象放入栈顶(CompoundRoot); Struts2会把ValueStack存放在request中,属性为”struts.valueStack“, 所以,标记库可以访问到ValueStack Struts2的很多标记就是通过访问ValueStack获得数据的:
 通过ognl从ValueStack取数据,并且显示
<s:property value="ognl..."/>
 省略value,取出ValueStack的栈顶
<s:property />
 通过ognl从ValueStack取出集合,依次将集合中的对象置于栈顶,在循环中,ValueStack栈顶即为要显示的数据
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式