1. 程式人生 > >Struts2零基礎回顧-03

Struts2零基礎回顧-03

1、值棧

struts2提供一種儲存機制,類似於域物件,是值棧,可以存值和取值。

值棧儲存位置

(1)每次訪問action時候,都會建立action物件,

2)在每個action物件裡面都會有一個值棧物件(只有一個)

使用ActionContext類裡面的方法得到值棧物件

每個action物件中只有一個值棧物件

值棧分為兩部分:

第一部分 root,結構是list集合

第二部分 context,結構map集合

向值棧放資料

第一種 獲取值棧物件,呼叫值棧物件裡面的 set 方法

第二種 獲取值棧物件,呼叫值棧物件裡面的  push方法

第三種 action定義變數,生成變數的get方法

向值棧放物件

第一步 定義物件變數

第二步 生成變數的get方法

第三步 在執行的方法裡面向物件中設定值

向值棧放list集合

第一步 定義list集合變數

第二步 生成變數的get方法

第三步 在執行的方法裡面向list集合設定值

從值棧獲取資料

獲取字串 

獲取物件

獲取list集合

第一種方式

第二種方式:

第三種方式:

push操作

 使用push方法向值棧放資料,獲取

(1)使用push方法設定值,沒有名稱,只有設定的值

(2)向值棧放資料,把向值棧放資料存到數組裡面,陣列名稱 top,根據陣列獲取值

EL表示式獲取值棧資料

1)首先從request域獲取值,如果獲取到,直接返回

2)如果從request域獲取不到值,到值棧中把值獲取出來,把值放到域物件裡面

2、OGNL的#、%使用

使用#獲取context裡面資料

直接在struts2表單標籤裡面使用ognl表示式不識別,只有%之後才會識別。