posts - 495,  comments - 11,  trackbacks - 0

          基本的OGNL語(yǔ)法是十分簡(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 閱讀(83) 評(píng)論(0)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 永仁县| 湛江市| 通榆县| 神木县| 纳雍县| 荥阳市| 巴楚县| 厦门市| 武隆县| 镇雄县| 鹿泉市| 济源市| 香格里拉县| 拜泉县| 广水市| 沙坪坝区| 长顺县| 无极县| 金秀| 温泉县| 兴文县| 石首市| 望奎县| 安平县| 迭部县| 年辖:市辖区| 浪卡子县| 迁安市| 天全县| 土默特右旗| 崇礼县| 礼泉县| 宁都县| 渭南市| 克什克腾旗| 九龙坡区| 合水县| 阿拉善右旗| 玛纳斯县| 敖汉旗| 永修县|