OGNL,OGNL在Struts2環境當中的使用(入門)

一、OGNL概述

1、什麼是OGNL

對象導航圖語言(Object Graph Navigation Language),簡稱OGNL,是應用於Java中的一個開源的表達式語言(Expression Language),它被集成在Struts2等框架中,作用是對數據進行訪問,它擁有類型轉換、訪問對象方法、操作集合對象等功能。

(1)OGNL:對象導航圖語言,比EL表達式要強大很多倍的語言。

EL:只能從域對象當中獲取數據,從EL的11個對象當中獲取對象。${ }
OGEL:調用對象的方法,獲取Struts2的值棧的數據。OGNL其實是第三方的表達式語言。

2、爲什麼學習OGNL

OGNL(Object-Graph Navigation Language),

可以方便地操作對象屬性的開源表達式語言,使頁面更簡潔;

支持運算符(如±*/),比普通的標誌具有更高的自由度和更強的功能;

Struts 2默認的表達式語言是OGNL,原因是它相對其它表達式語言具有下面幾大優勢:

支持對象方法調用,如xxx.doSomeSpecial();

支持類靜態的方法調用和值訪問,表達式的格式爲@[類全名(包括包路徑)]@[方法名 | 值名],例如:

@java.lang.String@format(‘foo %s’, ‘bar’)或@tutorial.MyConstant@APP_NAME;

支持賦值操作和表達式串聯,

如price=100, discount=0.8, calculatePrice(price*discount),這個表達式會返回80;

訪問OGNL上下文(OGNL context)和ActionContext;

操作集合對象。

可以直接new一個對象

3、OGNL使用的要素

1、表達式:

2、根對象:(Root)

3、Context對象:

二、OGNL在Struts2環境當中的使用(入門)

1、訪問對象的方法(引入Struts2的標籤)

創建JSP頁面在頁面當中
在這裏插入圖片描述

2、訪問對象的靜態方法

靜態方法訪問在Struts2當中默認是關閉的,需要開啓常量。(也就是說默認情況下是不允許靜態方法訪問)

而Struts2當中的靜態常量在

(1)手動開啓靜態方法訪問在struts.xml

在這裏插入圖片描述

(2)在JSP當中通過標籤的property來獲取對象的靜態方法

在這裏插入圖片描述
在瀏覽器當中訪問
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章