struts2中valuestack中得对象进栈的先后顺序

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

2011-11-28 22:58 an8695002  |  分类:其他编程语言  |  浏览1947次
2012-03-09 11:21 网友采纳
先了解一下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的实例对象是最后的 因为放在最上面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值