只是本人的Struts2學習筆記,關于Value Stack(值棧)和OGNL表達式,把我知道的都說出來,希望對大家有用。
一,值棧的作用
記錄處理當前請求的action的數據。
二,小例子
有兩個action:Action1和Action2
Action1有兩個屬性:name和passwd
Action2有兩個屬性:name2和passwd2
請求從Action1進入,chain方法導向Action2
Struts.xml配置信息:
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
action2
/welcome.jsp
welcome.xml:
To change this template use File | Settings | File Templates.
--%>
name:
passwd:
locale:
三,訪問
訪問的路徑:http://localhost:8080/Struts2OGNL/action1?name=nn&passwd=pp
Struts2OGNL是項目名稱
下面是值棧截圖:
注意到,我們連接中給了的值都已經出現在值棧中了,即name和passwd。還有我們發現這明顯是一個棧,誰先調用誰在下面,當我們取值的時候,是從棧頂開始向下搜索,首先找到的那個值就是最終結果。
jsp中取值的方法:
name:
passwd:
locale:
根據名稱取值,value是OGNL表達式,即對象圖形導航語言,就是根據這個表達式找到一個對象。
如果一個對象的屬性有一個類,例如User user,User有name和passwd屬性,那么可以這樣傳參:
http://localhost:8080/Struts2OGNL/action1?user.name=nn&user.passwd=pp
并且可以這樣取值:
name:
passwd:
locale:
當然,還可以直接用對象調用方法,例如下面的代碼:
其余的用法,看下面這張圖,就不一一總結了。這個圖是視頻中截下來的,以后有問題了來看看,查查,應該就會使用了。
Struts 的詳細介紹:請點這里
Struts 的下載地址:請點這里