ognl:对象图导航语言

使用Domain model模型时:

1:模型中必须包含一个空参数的构造函数,以便系统调用创建模型对象,这时必须传递参数


2:当然也可以自己new 一个对象出来,如果不提供参数使用默认值,如果提供了参数则使用提供的参数


访问属性:无论字段是什么类型的:通过 对象.属性 的形式访问,返回该属性的值,类型为属性的自身类型,如果属性是一个类的对象,可以继续通过 . 访问该对象的值例如:

访问普通(非静态的)属性对应类型的方法:和原来 java调用系统方法相同 :example:

访问对象的普通(非静态方法):和原来调用java类的方法 相同:example:方法只要是非静态即可,没有其它限定

访问值栈中action的普通方法:直接写方法名:example:方法只要是非静态的即可,没有其它的要求


访问静态方法:@类名@静态方法   必须带上包名,必须是public 的

访问静态属性:@类名@静态属性    必须带上包名,必须是public 的

访问Math类的静态方法:@@方法

(在struts2.0时可以直接获取结果,struts2.1时做了改动,要想访问静态方法必须在struts.xml中配置默认情况value=false


访问容器:

访问list

获取整个list

获取某个元素

获取list元素属性集合(  如果容器中存储的是对象)

获取list特定元素的属性值

 访问set

获取整个 set 

set是无序的因此不可以通过索引获取某个元素的值

 访问map

获取某个值

 获取map的键集合

 获取map 的值集合


访问容器大小:调用 size()方法


过滤:?#表示过滤条件,^#表示匹配的第一个  $#表示匹配的最后一个

examples:

this 表示遍历容器时所对应的对象,改句表示获取age 等于一的对象

获取第一个age大于一的age值集合

获取最后一个age大于1的值得集合

判断是否有age大于1


使用[]访问:

 所有被访问到aciton都会被放到值栈中,[0]表示从第一个action开始搜索,当访问值栈中的某个元素时使用[0].属性