1. 程式人生 > >OGNL的全稱是對象圖導航語言

OGNL的全稱是對象圖導航語言

字符串 表達 struts sco avi 路徑 expr object ESS

OGNL的全稱是對象圖導航語言( object-graph Navigation Language),它是一種功能強大的開源表達式語言,使用這種表達式語言,可以通過某種表達式語法,存取Java對象的任意屬性,調用Java對象的方法,同時能夠自動實現必要的類型轉換。如果把表達式看作是一個帶有語義的字符串,那麽OGNL無疑成為了這個語義字符串與Java對象之間溝通的橋梁。

1.2 OGNL的作用  

Struts2默認的表達式語言就是OGNL,它具有以下特點:
  ● 支持對象方法調用。例如: objName. methodName( )。
  ● 支持類靜態方法調用和值訪問,表達式的格式為@[類全名(包括包路徑)]@[ 方法名|值名 ]。例如:@ java.lang.String@format("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的全稱是對象圖導航語言