ognl表达式top访问什么用的

问题描述:

ognl表达式top访问什么用的
1个回答 分类:综合 2014-09-27

问题解答:

我来补答
Top ?
再问: 是啊?一直找不到答案。
再答: 我们知道el表达式只能访问四种scope范围内的对象,那为什么这里能访问到值栈对象呢?原因是struts2对HttpServletRequet进行了一次封装,封装的代码主要是重写了getAttribute方法,简述重写此方法的核心代码:首先在原始的HttpServletRequest对象中查找el表达式中的属性,如果找不到再通过ActionContext获取值栈对象,进而再从值栈对象中查找el表达式中要访问的属性。 1.N-top语法 当我们通过chain链访问时,值栈中可能有两个以上的Action对象,如果这些对象中存在相同的属性,N语法便能正确区分他们。通常,这些Action对象的入栈顺序是:先访问先入栈。 我们用调试会发现,值栈中有一个DefaultTextProvider对象(因为此Action继承自ActionSupport),它的作用是获取资源文件中的内容(其实本质是ActionSupport重写了getText()方法),这也就是在国际化问题中我们能直接调用它的getText()方法的原因。这个对象与action对像同时存在在VS中。使用还能把context map中的对象列出,真是一个很好用的工具。 value="[n]" 该语句的语法为:从第n+1个对象开始取值直到栈底元素,若想取得第n+1个元素,则[n].top,实质是截栈的操作。 N语法[0]:
N语法[1]:
N语法[0].top:
N语法[1].top:
N语法top:
N语法取值:
N语法取值:

 
 
展开全文阅读
剩余:2000
上一页:单调性最小值
下一页:溶质质量