OGNL学习笔记

来源:互联网 发布:软件开发好不好学 编辑:程序博客网 时间:2024/06/06 09:02


OGNL学习笔记

OGNL介绍:

1.OGNL(Object Graph Nvigation Language),对象图导航语言

2.OgnlContext(ognl上下文对象),存在唯一的叫根的的对象root,可以通过程序设定上下文当中哪个对象作为根对象

3.OGNL中,如果表达式没有使用#号,那么OGNL会从根对象中寻找该属性对应的get方法,如果寻找的不是根对象中的属性,那么则需要以#号开头,告诉OGNL,去寻找你所指定对象的属性

 

OGNL使用:

1.当使用OGNL调用静态方法的时候,需要按照如下的语法编写表达式:

 @package.classname@methodname(parmeter)

2.OGNL来说,数组和集合是一样来看待的,都是通过下标索引去访问的。构造集合的时候使用{. . .}形式

3.使用OGNL处理Map的语法格式如下所示:

#{key1:value1,key2:value2,key3:value3}有点像json

4.过滤(filtering)collection.{? expression}

5.过滤(filtering):获得第一个元素collection {^expression}

6.过滤(filtering):获得最后一个元素collection {$expression}

7.通常在使用过滤操作的时候,我们会使用到#this,该表达式用于代表当前正在迭代的集合中的对象(类似增强的for循环)

8.投影(projection)collection.{expression}

9.过滤与投影之间的差别:类比于数据库中表,过滤是取行操作(选择),投影是取列操作

10.Struts2.x中有一个称作值栈的概念(ValueStack)非常重要。

11.Struts2.x中根对象就是ValueStack.Struts2.x的任何流程中ValueStack中最顶层对象一定是Action对象

12.几个常用的命名对象

  parameters, #parameters.username

  request, #request.username

  session, #session.username

  application,#application.username

  attr,#attr.username

13.Struts2.x标签库属性值的%#的关系

0 0