1. OGNL是Object Graphic Navigation Language(對(duì)象圖導(dǎo)航語(yǔ)言)的縮寫
* 所謂對(duì)象圖,即以任意一個(gè)對(duì)象為根,通過OGNL可以訪問與這個(gè)對(duì)象關(guān)聯(lián)的其它對(duì)象
* 通過它簡(jiǎn)單一致的表達(dá)式語(yǔ)法,可以存取對(duì)象的任意屬性,調(diào)用對(duì)象的方法,遍歷整個(gè)對(duì)象的結(jié)構(gòu)圖,實(shí)現(xiàn)字段類型轉(zhuǎn)化等功能。它使用相同的表達(dá)式去存取對(duì)象的屬性
2. Struts2框架使用OGNL作為默認(rèn)的表達(dá)式語(yǔ)言
* OGNL是一種比EL強(qiáng)大很多倍的語(yǔ)言
* xwork提供 OGNL表達(dá)式
* ognl-3.0.5.jar
3. OGNL 提供五大類功能
* 支持對(duì)象方法調(diào)用
* 支持類靜態(tài)的方法調(diào)用和值訪問
* 訪問OGNL上下文(OGNL context)和ActionContext
* 支持賦值操作和表達(dá)式串聯(lián)
* 操作集合對(duì)象
4. 測(cè)試的代碼
// 訪問對(duì)象的方法 @Test public void run1() throws OgnlException{ OgnlContext context = new OgnlContext(); // 獲取對(duì)象的方法 Object obj = Ognl.getValue("'helloworld'.length()", context, context.getRoot()); System.out.println(obj); } &n