Struts2 ognl中的 和 符號用法說明

2021-05-03 21:04:55 字數 697 閱讀 7397

#、%和$符號在ognl表示式中經常出現,而這三種符號也是開發者不容易掌握和理解的部分。在這裡筆者簡單介紹它們的相應用途。

1.#符號的用途一般有三種。

1)訪問非根物件屬性,例如示例中的#session.msg表示式,由於struts 2中值棧被視為根物件,所以訪問其他非根物件時,需要加#字首。實際上,#相當於actioncontext. getcontext();#session.msg表示式相當於actioncontext.getcontext().getsession(). getattribute(」msg」) 。

2)用於過濾和投影(projecting)集合,如示例中的persons.。

3)用來構造map,例如示例中的#。

2.%符號

%符號的用途是在標誌的屬性為字串型別時,計算ognl表示式的值。如下面的**所示:

構造map

the value of key "foo1" is

不使用%:

使用%:

3.$符號

$符號主要有兩個方面的用途。

在國際化資源檔案中,引用ognl表示式,例如國際化資源檔案中的**:reg.agerange=國際化資源資訊:年齡必須在$同$之間。

在struts 2框架的配置檔案中引用ognl表示式,例如下面的**片斷所示:

10100

baction-test校驗:數字必須為$為$之間!

struts2 OGNL 值的訪問

前言我覺得首先需要事先了解一下ognl,在開始struts2值棧 struts2值棧 onglvaluestack onglvaluestack 有兩部分,一部分是繼承arraylist實現的乙個棧結構,乙個就是在 contextmap詳解 中介紹過的contextmap。第一部分 valuesta...

Struts2 ognl中的 和 符號用法說明

和 符號在ognl表示式中經常出現,而這三種符號也是開發者不容易掌握和理解的部分。在這裡筆者簡單介紹它們的相應用途。1 符號的用途一般有三種。1 訪問非根物件屬性,例如示例中的 session.msg表示式,由於struts 2中值棧被視為根物件,所以訪問其他非根物件時,需要加 字首。實際上,相當於...

Struts2 ognl中的 和 符號用法說明

和 符號在ognl表示式中經常出現,而這三種符號也是開發者不容易掌握和理解的部分。在這裡筆者簡單介紹它們的相應用途。1 符號的用途一般有三種。1 訪問非根物件屬性,例如示例中的 session.msg表示式,由於struts 2中值棧被視為根物件,所以訪問其他非根物件時,需要加 字首。實際上,相當於...