struts2中valuestack中得对象进栈的先后顺序?请详细解释一下,谢谢!!

 我来答
wzarx
2012-03-09
知道答主
回答量:11
采纳率:0%
帮助的人:12.4万
展开全部
先了解一下ognl.
ognl表达式是不依托struts2实现的,在普通的java工程中使用ognl.只需要建立一个ognlContext,源码显示该对象实现了map接口,实际上就是一个map结构 的封装.可以通过put()放入对象引用.
使用ognl:建立一个ognlContext对象ognl,然后把你需要的对象通过setRoot(引用名),把其设置成根队对象.就可以通过getValue()方法得到
给你推荐个文章http://blog.csdn.net/it_man/article/details/6000655
在struts中,实际上OGNLContext就是ActionContext,里面维护的对象都可以根据OGNL表达式得到,而ROOT就是VALUEStack,就是栈对象,实现了ARRAYList接口.栈顶是一个你在使用的Action的一个对象.实际上OGNL表达式
eg:"对象名"="((StackValue)ActionContext.getcontext().getStackValue().peek()).get属性名"
而其他的如session之类的对象也在ActionContext中,只是不是root,所以获取方法不一样.
session:ActionContext.getcontext().getSession.get属性名.

The framework sets the OGNL context to be our ActionContext, and the value stack to be the OGNL root object. (The value stack is a set of several objects, but to OGNL it appears to be a single object.) Along with the value stack, the framework places other objects in the ActionContext, including Maps representing the application, session, and request contexts. These objects coexist in the ActionContext, alongside the value stack (our OGNL root).

大致说说 吧:
Struts2框架,把OGNL的Context设为ActionContext,并且Value Stack是OGNL的根对象。(虽然Value Stack是多个对象的集合,但是对于OGNL来说,Value Stack就是单一的一个对象)。除了 Value Stack , Struts2框架还将其他对象放在了ActionContext中,这些对象包括:与application、Session、request等相对应的Map。这些对象和Value Stack(我们的OGNL根对象),共同组成了ActionContext。

进STACK顺序的话 毫无疑问 action的实例对象是最后的 因为放在最上面
百度网友4ef30e1
2011-11-28
知道答主
回答量:6
采纳率:0%
帮助的人:3.7万
展开全部
valuestack就像java的栈把当前的Action对象放入栈顶,后进的对象放于栈顶。取数据时它会先从栈顶取。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yinlei_nb
2012-03-07 · 超过12用户采纳过TA的回答
知道答主
回答量:26
采纳率:100%
帮助的人:13.4万
展开全部
后进先出。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式