struts2中的OGNL一些用法補遺

2021-06-18 11:55:36 字數 492 閱讀 1373

1、如果action裡有乙個欄位user,然後jsp裡提交user.name,則user的name欄位會被自動賦值,但是實際上,user欄位沒有初始化過,為什麼不會npe呢

這是ognl在幕後起的作用,user.name是乙個ognl表示式,當ognl解析器在屬性鏈上發現乙個為null的屬性時,它會嘗試建立乙個例項並賦值

對於開發者來說,只需要給這個類乙個無參構造方法,並為此字段提供乙個setter方法即可

2、ognl表示式還可以用來直接建立list和map

,這就建立了乙個list

#,這就建立了乙個map

這種語法一般是用在jsp頁面裡

3、ognl還可以使用操作符

比如$

4、用來實現方法呼叫

5、呼叫靜態方法和字段

@com.huawei.test.utils@somestaticmethod()

不過我認為這種寫法是應該盡量避免的,除非有不得不這麼做的理由

Struts2中OGNL的 , , 使用

ognl是通常要結合struts 2的標誌一起使用,如等。大家經常遇到的問題是 和 這三個符號的使用。主要有三種用途 訪問ognl上下文和action上下文,相當於actioncontext.getcontext 下表有幾個actioncontext中有用的屬性 名稱作用例子 parameters ...

struts2中的ognl小問題

還是個小細節的問題 本是想在註冊之後,將註冊的名字通過session.set username username 然後轉到accountregist.jsp頁面,先前都寫成 或者或者 試了這幾個都不行,出現的值都是value裡的字串,而不是去值棧裡取值的,搞得真是夠鬱悶的 和 符號在ognl表示式中...

struts2中ognl標籤的使用

一 1 list 表示要顯示的資料列表 2 listkey 表示提交表單時提交資料列表中物件的該字段 3 listvalue 表示顯示時顯示資料物件列表中該字段的內容 4 name 表示提交到action中後與該字段相匹配 5 headervalue 表示介面顯示時最上面的一條,相當於bootstr...