Struts2中使用OGNL表达式访问Action
1.访问值栈中从指定位置开始所有的Action:[索引],如:[0] ;
2.在值栈中从指定位置开始所有的Action查找指定的属性:[索引].属性名,如:[0].users。
Struts2中使用OGNL表达式访问Action中的属性和方法
1.访问值栈中Action的普通属性:属性名;
2.访问值栈中Action的对象的普通属性:对象名.属性名、对象名['属性名']、对象名[\"属性名\"];
3.访问值栈中Action的普通方法:方法名();
4.访问值栈中Action的属性的普通方法:属性名.方法名();
5.访问值栈中Action的对象的普通方法:对象名.方法名()。
Struts2中使用OGNL表达式访问集合
1.访问List:集合对象名;
2.访问List中指定的元素:集合对象名[索引];
3.访问List中元素属性的集合:集合对象名.{元素属性} ;
4.访问List中指定元素的属性:集合对象名[索引].元素属性| 集合对象名.{元素属性}[索引] ;
5.访问Set:集合对象名;
6.访问Map: 集合对象名;
7.访问Map中指定的元素(key与变量命名规则一致): 集合对象名.key值 、 集合对象名['key值'];
8.访问Map中所有的key:集合对象名.keys;
9.访问Map中所有的key:集合对象名.values。
Struts2中使用OGNL表达式访问类的构造方法
1.访问类的构造方法:new 包.类名(参数),如:
new cn.edu.ahau.mgc.struts2.model.User('Magc', 21);
2.返回该类的一个对象。
Struts2中使用OGNL表达式访问静态属性和方法
1.访问静态方法:@包.类名@方法名(),如:
@cn.edu.ahau.mgc.struts2.model.Magci@method();
2.访问静态属性:@包.类名@属性名,如:
@cn.edu.ahau.mgc.struts2.model.Magci@NAME
3.第一个@后面的类可以省略,默认为Math类,如:
@@floor(1.32342);
4.访问静态方法必须在struts.xml文件中添加如下配置:
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />
Struts2中使用OGNL表达式投影(过滤)集合
1.集合的投影(过滤)有以下三种方式:
a.“?#”:投影(过滤)所有符合条件的集合,如:users.{?#this.age > 19};
b.“^#”:投影(过滤)第一个符合条件的元素,如:users.{^#this.age > 19};
c.“$#”:投影(过滤)最后一个符合条件的元素,如:users.{$#this.age > 19} 。
2.“this”表示集合中的元素;
3.投影(过滤)操作返回的是一个集合,可以使用索引取得集合中指定的元素,如:users.{?#this.age > 19}[0]。
<!--EndFragment-->