OGNL的全称是对象图导航语言

Posted fghgng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OGNL的全称是对象图导航语言相关的知识,希望对你有一定的参考价值。

OGNL的全称是对象图导航语言( object-graph Navigation Language),它是一种功能强大的开源表达式语言,使用这种表达式语言,可以通过某种表达式语法,存取Java对象的任意属性,调用Java对象的方法,同时能够自动实现必要的类型转换。如果把表达式看作是一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与Java对象之间沟通的桥梁。

1.2 OGNL的作用  

Struts2默认的表达式语言就是OGNL,它具有以下特点:
  ● 支持对象方法调用。例如: objName. methodName( )。
  ● 支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[ 方法名|值名 ]。例如:@ [email protected]("foo%s","bar")。
  ● 支持赋值操作和表达式串联,例如: price=100, discount=0.8, calculatePrice( ),在方法中进行乘法计算会返回80

  ● 访问OGNL上下文( OGNL context)和 ActionContext。
  ● 操作集合对象。

1.3 OGNL的要素

了解了什么是OGNL及其特点后,接下来,分析一下OGNL的结构。OGNL的操作实际上就是围绕着OGNL结构的三个要素而进行的,分别是表达式( Expression)、根对象( Root Object)、上下文环境( Context),下面分别讲解这三个要素,具体如下。

以上是关于OGNL的全称是对象图导航语言的主要内容,如果未能解决你的问题,请参考以下文章

OGNL(对象图导航语言)学习

ognl

Struts2 OGNL

OGNL与值栈

学习OGNL语法

Struts2 的 OGNL