struts2中valuestack中得对象进栈的先后顺序?请详细解释一下,谢谢!!
3个回答
展开全部
先了解一下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的实例对象是最后的 因为放在最上面
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的实例对象是最后的 因为放在最上面
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询