Struts2 學習筆記(七) OGNL

2021-06-07 23:06:50 字數 2636 閱讀 7992

對於domain model只有傳入user.***時系統才會構造乙個user物件,也可以手動構造,如果使用系統自動構造時,domain model 裡面需要有引數為空的建構函式。

1、 訪問value stack 中的普通屬性和方法

屬性:<

s:property

value

="user.age"

/>

<

s:property

value

="user['age']"

/>

<

s:property

value

="user[\"age\"]"

/>    \」是轉義字元

wrong:

方法:<

s:property

value

="password.length()"

/>

2、 訪問普通類和math類的靜態方法、屬性

例如:第乙個@後面是類名,第二個@後面是方法或者屬性名。

<

s:property

value

="@com.bjsxt.struts2.ognl.s@s()"

/>

呼叫math類中的靜態方法

<

s:property

value

="@@max(2,3)"

/>

3、 訪問普通類的構造方法

<

s:property

value

="new com.bjsxt.struts2.ognl.user(8)"

/>

4、 訪問集合(包括陣列)

訪問list:

<

s:property

value

="users"

/> 訪問

list

中某個元素

:<

s:property

value

="users[1]"

/> 訪問

list

中元素某個屬性的集合

:<

s:property

value

="users."

/> 訪問

list

中元素某個屬性的集合中的特定值

:<

s:property

value

="users.[0]"

/>

| <

s:property

value

="users[0].age"

/> 訪問

set:

<

s:property

value

="dogs"

/> 訪問

set中某個元素

:<

s:property

value

="dogs[1]"

/>

不能這樣取值! 訪問

map:

<

s:property

value

="dogmap"

/> 訪問

map中某個元素

:<

s:property

value

="dogmap.dog101"

/>

| <

s:property

value

="dogmap['dog101']"

/>

| <

s:property

value

="dogmap[\"dog101\"]"

/> 訪問

map中所有的

key:

<

s:property

value

="dogmap.keys"

/> 訪問

map中所有的

value:

<

s:property

value

="dogmap.values"

/>

訪問容器的大小:

<

s:property

value

="dogmap.size()"

/>

| <

s:property

value

="users.size"

/>

5、 投影

?#取出所有符合條件的user,^#取出第乙個符合條件的user,$#取出符合最後乙個符合條件的user

<

s:property

value

="users.[0]"

/>   age為

1的第乙個元素

<

s:property

value

="users.."

/>

<

s:property

value

="users.."

/>

<

s:property

value

="users.. == null"

/>

6、 用「[ ]」訪問元素

[ x ]:value stack中從第x個物件開始一直到棧底的集合。

struts2學習筆記(七) OGNL

ognl的功能在很大一部分和el表示式衝突,我的策略是先使用el表示式,如果不支援就使用ongl表示式,ongl主要對集合的支援更多一些 語法為 上面的 生成了乙個html select物件,可選的內容為 name1,name2,name3,預設值為 name2。對於 array和list,可使用下...

Struts2學習筆記

1.不繼承,不介面 2.繼承actionsupport類 3.介面action介面 4.我們可以使用modeldriven模式 5.我們可以自己編寫bean進行struts2的擴充套件,但是 一般不需要,因為struts2的功能已經很強大了!6.我們可以將default.properties檔案中的...

Struts2學習筆記

structs修改後自動更新 action執行的時候並不一定要執行execute方法 method add user add success.jsp user add success.jsp 可以在配置檔案中配置action的時候用method 來指定執行哪個方法 user useradd 新增使用...