struts2中 與 與 區別

2021-08-25 06:09:51 字數 772 閱讀 2517

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