OGNL的全稱是對象圖導航語言
阿新 • • 發佈:2018-05-11
字符串 表達 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的全稱是對象圖導航語言