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...