struts2: OGNL表達式、OGNL表達式與struts2結合

OGNL表達式

OGNL:對象視圖導航語言.  ${user.addr.name} 這種寫法就叫對象視圖導航.

OGNL不僅僅可以視圖導航.支持比EL表達式更加豐富的功能.


使用OGNL準備工作

 導包:struts2 的包中已經包含了.所以不需要導入額外的jar包

 代碼準備




語法:

基本取值



賦值



調用方法


調用靜態方法


創建對象(List,Map)




OGNL與Struts2的結合

結合原理

ValueStack中的兩部分


棧原理


棧是由ArrayList模擬的


棧中的兩個方法的實現


訪問棧中屬性的特點.由上到下


查看值棧中兩部分內容(使用DEBUG標籤)

Root

默認情況下,棧中放置當前訪問的Action對象


Context

Context部分就是ActionContext數據中心





struts2與ognl結合體現

參數接收





如何獲得值棧對象,值棧對象與ActionContext對象是互相引用的



配置文件中

取出值語法:${ognl表達式}





struts2_day03




一.ognl表達式
準備工作:
1.導包 - 包含在struts2包中
2.OGNLContext
|-Root 任意對象
|-Context Map
語法:
1.取值
2.賦值
3.調用方法
4.調用靜態方法
5.創建List|Map

二.OGNL與Struts2的整合

Struts2爲ognl準備了一個ValueStack對象,作爲ognl取值範圍

ValueStack
|-Root
|-Context   ActionContext(數據中心)

棧 => 默認放置當前訪問的Action對象
ActionContext 
|- request
|- response
|- servletContext
|- requestScope
|- sessionScope
|- applicationScope
|- parameters
|- attrs
......
OGNL與Struts2結合的應用
|- 參數接收 => struts2中的參數是交給ognl引擎處理
|- 配置文件中 => ${ognl表達式}
|- 標籤(今天講)


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