對於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 新增使用...