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