1.Struts2的跳轉類型
http://jstree.iteye.com/blog/1464043
<action name="elecMenuAction_*" class="elecMenuAction" method="{1}">
<result name="logout" type="redirect">index.jsp</result>
</action>
四種跳轉類型:
1)dispatcher: 默認類型。用于返回一個視圖資源
頁面跳轉過程一直是同一個線程,Action中的數據一直保存在。
location只能是頁面,不能是另外一個action(可以使用type="chain"解決)
2)chain:chain 用于把相關的幾個action連接起來,共同完成一個功能。
3)redirect: redirect 類型用于重定向到一個頁面,另一個action或一個網址。
<result name="err" type="redirect-action">
<param name="actionName">重定向的Action名</param>
<param name="namespace">重定向Action所在的名字空間</param>
</result>
redirect和redirect-action兩種結果類型在使用上其實并沒有什么區別,只是寫法不同而已。
缺點:redirect把一個http返回碼(SUCCESS)以及返回的頁面位置一起重新發給web服務器,容納后由web服務器產生一個新的HTTP請求,就會產生一個新的線程,保存在原來Action執行的線程中的數據就無法訪問。
所以,result需要包含Action的數據,那么redirect不是一個可行的辦法。因為新的HTTP請求時在Servlet容器的新的線程中處理的,ActionContext中的所有狀態都不會存在。
4)plaintextj 結果類型用于直接在頁面上顯示源代碼
Xml代碼:
<result name="err" type="plaintext">
<param name="location">具體的位置</param>
<param name="charSet">字符規范(如GBK)</param>
</result>
2.如果bean中是Date類型,(數據庫中可以是datetime)
那么struts 可以使用s:date
這樣來取值。
<s:date name="createDate" format="yyyy-MM-dd HH:mm:ss" />