2个回答
推荐于2017-11-25
展开全部
•Struts2在OGNL之上提供的最大的附加特性就是支持值栈,在OGNL上下文中只能有一个根对象,Struts2的值栈则允许存在许多虚拟根对象
•Struts2将OGNL上下文设置为Struts2中的ActionContext(内部仍然使用OgnlContext),并将值栈作为OGNL的根对象,值栈类似于正常的栈,符合后进先出的特点,可以在值栈中放入、删除、查询对象
只要是对象都可以放入值栈中
每次请求会创建一个action实例,也会创建一个ActionContext,值栈就存放在ActionContext中
个人觉得值栈会在一个当前的action中有效
•Struts2将OGNL上下文设置为Struts2中的ActionContext(内部仍然使用OgnlContext),并将值栈作为OGNL的根对象,值栈类似于正常的栈,符合后进先出的特点,可以在值栈中放入、删除、查询对象
只要是对象都可以放入值栈中
每次请求会创建一个action实例,也会创建一个ActionContext,值栈就存放在ActionContext中
个人觉得值栈会在一个当前的action中有效
展开全部
通过对struts2的一段时间的接触,将自己对OGNL的核心值栈说说!
值栈:简单的说,就是存放action的堆栈,当我们提交一个请求道服务器端 action时,就有个堆栈,如果action在服务器端进行跳转,所有action共用一个堆栈,当需要保存在action中的数据时,首先从栈顶开始 搜索,若找到相同的属性名(与要获得的数据的属性名相同)时,即将值取出,但这种情况可能出现找到的值不是我们想要的值,那么解决此问题需要用TOP语法 和N语法来进行解决。
值栈:简单的说,就是存放action的堆栈,当我们提交一个请求道服务器端 action时,就有个堆栈,如果action在服务器端进行跳转,所有action共用一个堆栈,当需要保存在action中的数据时,首先从栈顶开始 搜索,若找到相同的属性名(与要获得的数据的属性名相同)时,即将值取出,但这种情况可能出现找到的值不是我们想要的值,那么解决此问题需要用TOP语法 和N语法来进行解决。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询