posts - 495,  comments - 11,  trackbacks - 0

          基本的OGNL語法是十分簡(jiǎn)單的,當(dāng)然OGNL支持豐富的表達(dá)式,一般情況下,不用擔(dān)心OGNL的復(fù)雜性。例如有一個(gè)man對(duì)象,該對(duì)象有一個(gè)name屬性,那么使用OGNL來獲得該name屬性可以使用如下表達(dá)式:

          man.name

          OGNL表達(dá)式的基礎(chǔ)單元稱為導(dǎo)航鏈,簡(jiǎn)稱為鏈。一個(gè)最簡(jiǎn)單的鏈由如下部分組成。
          >
          屬性名稱:如上述示例中的name
          >
          方法調(diào)用:hashCode()返回當(dāng)前對(duì)象的hash code。
          >
          數(shù)組元素:listeners[0]返回當(dāng)前對(duì)象的監(jiān)聽器列表中的第一個(gè)元素。

          說明

          OGNL表達(dá)式基于OGNL上下文中的當(dāng)前對(duì)象,一個(gè)將使用上一個(gè)的處理結(jié)果,開發(fā)者可以任意擴(kuò)展該鏈的長(zhǎng)度,OGNL沒有限制。

          例如,一個(gè)OGNL表達(dá)式如下:

          name.toCharArray()[0].numericValue.toString()


          該表達(dá)式將按照如下步驟求值。

          1)獲得OGNL Context中初始對(duì)象或者是根對(duì)象(root對(duì)象)的name對(duì)象。

          2)調(diào)用toCharArray()方法,返回一個(gè)String類型對(duì)象。

          3)獲得該String對(duì)象的第一個(gè)字符。

          4)獲得該字符的numericValue屬性(該字符為一個(gè)Character對(duì)象,該對(duì)象有一個(gè)getNumericValue()方法,該方法返回一個(gè)Integer類型值)。

          5)將獲得的Integer對(duì)象轉(zhuǎn)換為一個(gè)String類型值(使用toString()方法)。

          posted on 2009-08-13 13:55 jadmin 閱讀(82) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 从江县| 洛隆县| 平潭县| 浦县| 大安市| 临西县| 巫溪县| 年辖:市辖区| 银川市| 康平县| 瑞金市| 固始县| 鄄城县| 吉安县| 龙门县| 浠水县| 东明县| 准格尔旗| 应用必备| 神农架林区| 磐安县| 襄汾县| 阳西县| 准格尔旗| 紫云| 日照市| 中卫市| 临海市| 剑川县| 望奎县| 四川省| 孟连| 牡丹江市| 汉源县| 安塞县| 阜康市| 木里| 苗栗县| 托里县| 馆陶县| 高阳县|