1、「#」符號有三種用途:
(1)、訪問struts中值棧物件),ognl在不新增任何符號的情況下,預設訪問的是valuestack中的值,也就是說是action中的屬性和方法;如ognl上下文和action上下文,#相當於actioncontext.getcontext()
舉例:
上面的**第2行會在頁面上輸出「value1」,而第3行則會輸出"#mymap['key1']"。
原因:在property標籤中,value之後的字串會自動被解析為ognl表示式,但是url標籤在被struts解析的時候預設當做字串對待,所以這裡輸出的是原字串 。
(2)、用於過濾和投影(projecting)集合,如: books.
(3)、構造map,如: #
#這種方式常用在給radio或select、checkbox等標籤賦值上。如果要在頁面中取乙個map的值可以這樣寫:
2.%符號
%符號的用途是在標誌的屬性為字串型別時,轉換為計算ognl表示式的值。讓被理解為字串的表示式,被真正當成ognl來執行。如下面的**所示:
構造map
the value of key 「foo1″ is
不使用%:
使用%:
小結:
a) # 取得actioncontext的值
b) % 將原本的文字屬性解析為ognl,對於本來就是ognl的屬性不起作用
這裡順帶提一下el表示式
struts2中 與 與 區別
在struts中符號的使用比較靈活,尤其是 這三個符號的使用。由於 廣泛應用於el中,這裡重點寫 和 符號的用法。1 符號有三種用途 1 訪問非根物件 struts中值棧為根物件 ognl在不新增任何符號的情況下,預設訪問的是valuestack中的值,也就是說是action中的屬性和方法 如ogn...
struts2中 與 與 區別
在struts中符號的使用比較靈活,尤其是 這三個符號的使用。由於 廣泛應用於el中,這裡重點寫 和 符號的用法。1 符號有三種用途 1 訪問非根物件 struts中值棧為根物件 ognl在不新增任何符號的情況下,預設訪問的是valuestack中的值,也就是說是action中的屬性和方法 如ogn...
struts2中 , , 的區別
首先我們需要找到值棧是什麼?值棧的結構分為什麼?struts2裡面本身提供的一種儲存機制,類似於域物件,簡單的來說就是,值棧,可以進行存值與取值 值棧的結構分為兩種,一種是root,這種的執行結構是乙個list集合 另一種是context,這一種的執行結果是map集合 當有的時候我們需要從conte...