struts2系列学习笔记(12)---------------OGNL
2011-01-30 10:58
435 查看
OGNL的全称是Object Graph Navigation Language(对象图导航语言),是一种强大的表达式语言.
1.OGNL表达式
OGNL表达式的基础单元是导航链(navigation chain),通常简称为"链(chain)",由以下部分组成:
1)属性名
2)方法调用
3)数组索引
2.常量
OGNL支持的常量类型如下所示:
1)字符串常量:既可以用单引号也可以用双引号来界定,但是如果是单个字符的字符串则必须用双引号来界定
2)字符常量:用单引号引起来的单个字符
3)数值常量:后缀为b或者B表示BigDecimal;后缀为h或者H表示BigInteger
4)布尔常量
5)null常量
3.操作符
除了与java支持的操作符相同的以外,还支持如下操作符:
1)逗号(,)或序列操作符: 整个表达式可以包括多个独立的表达式,各个表达式中间用逗号分割,整个表达式的结果为最后一个独立表达式的结果.
2){}操作符:用于创建列表,列表中各元素用逗号分割
3)in 和 not in 操作符:用于判定值是否在某个集合中
4.调用构造器创建对象
与java类似,但是new后面的类名必须是完整的包名和类名
5.调用方法
1)静态方法:
@package.class@method(args)
注:如果是java.lang.Math类则可以省略类名 @@method(args)
2)getXXX方法
对象.xxx
注:如果对象为上下文根对象,则可以省略对象部分直接写为xxx
6.静态属性
@package.class@field
7.对集合进行操作
1)创建列表 {元素1,元素2.....}
2)创建数组与java相同
3)创建Map
(1)#{key1:value1,key2:value2,...}
(2)#@package.class@{key1:value1,key2:value2,...}
4)操作集合OGNL使用的伪属性:
List,Set,Map : size,isEmpty
List: iterator
Map:keys,values
Set:iterator
Iterator:next,hasNext
Enumeration:next,hasNext,nextElement,hasMoreElements
8.投影(projection)
对集合中每一个元素调用相同的方法,或者抽取相同的属性,并将结果保存为一个新的集合
9.选择(selection)
从集合众选择某些元素,并将结果保存到新的集合中
选择中的3个特殊符号:
?-------选取匹配选择逻辑的所有元素
^------选取匹配选择逻辑的第一个元素
$------选取匹配选择逻辑的最后一个元素
10.lambda表达式
语法: :[...]
1.OGNL表达式
OGNL表达式的基础单元是导航链(navigation chain),通常简称为"链(chain)",由以下部分组成:
1)属性名
2)方法调用
3)数组索引
2.常量
OGNL支持的常量类型如下所示:
1)字符串常量:既可以用单引号也可以用双引号来界定,但是如果是单个字符的字符串则必须用双引号来界定
2)字符常量:用单引号引起来的单个字符
3)数值常量:后缀为b或者B表示BigDecimal;后缀为h或者H表示BigInteger
4)布尔常量
5)null常量
3.操作符
除了与java支持的操作符相同的以外,还支持如下操作符:
1)逗号(,)或序列操作符: 整个表达式可以包括多个独立的表达式,各个表达式中间用逗号分割,整个表达式的结果为最后一个独立表达式的结果.
2){}操作符:用于创建列表,列表中各元素用逗号分割
3)in 和 not in 操作符:用于判定值是否在某个集合中
4.调用构造器创建对象
与java类似,但是new后面的类名必须是完整的包名和类名
5.调用方法
1)静态方法:
@package.class@method(args)
注:如果是java.lang.Math类则可以省略类名 @@method(args)
2)getXXX方法
对象.xxx
注:如果对象为上下文根对象,则可以省略对象部分直接写为xxx
6.静态属性
@package.class@field
7.对集合进行操作
1)创建列表 {元素1,元素2.....}
2)创建数组与java相同
3)创建Map
(1)#{key1:value1,key2:value2,...}
(2)#@package.class@{key1:value1,key2:value2,...}
4)操作集合OGNL使用的伪属性:
List,Set,Map : size,isEmpty
List: iterator
Map:keys,values
Set:iterator
Iterator:next,hasNext
Enumeration:next,hasNext,nextElement,hasMoreElements
8.投影(projection)
对集合中每一个元素调用相同的方法,或者抽取相同的属性,并将结果保存为一个新的集合
9.选择(selection)
从集合众选择某些元素,并将结果保存到新的集合中
选择中的3个特殊符号:
?-------选取匹配选择逻辑的所有元素
^------选取匹配选择逻辑的第一个元素
$------选取匹配选择逻辑的最后一个元素
10.lambda表达式
语法: :[...]
相关文章推荐
- struts2系列学习笔记(12)---------------Struts2在OGNL基础上的增强
- Struts2-学习笔记系列(9)-OGNL类型转换和类型绑定
- Struts2-学习笔记系列(12)-set集合
- struts2系列学习笔记(1)---------------Struts2.2.1项目环境手动构建
- struts2系列学习笔记(5)---------------Action的package配置
- Sharepoint学习笔记—ECMAScript对象模型系列-- 12、通过邮件发送带有Unique DocumentID的文档链接
- Struts2-学习笔记系列(8)-异常处理
- Opencv2系列学习笔记12(检测fast特征)
- struts2系列学习笔记(4)---------------Action的多样化配置之一
- struts2系列学习笔记(8)---------------类型转换
- struts2系列学习笔记(3)---------------理解Struts2的核心流程
- struts2系列学习笔记(6)---------------Action的结果处理
- struts2系列学习笔记(4)---------------Action的多样化配置之二
- 浪曦_Struts2应用开发系列_第2讲.Struts2的类型转换-学习笔记
- struts2系列学习笔记(7)---------------其它形式的结果处理
- struts2系列学习笔记(9)---------------编程方式的验证
- struts2学习笔记----OGNL
- struts2系列学习笔记(10)---------------配置方式的验证1
- struts2系列学习笔记(11)---------------拦截器
- Struts2 学习系列 (4) ValueStack和OGNL