Struts2:
Action中result的各類轉發類型:瀏覽器
內部請求轉發dispatcher(默認值)
redirect、redirectAction、plainText
1.redirect是重定向到某個路徑、視圖
<action name="redirect">/***重定向
<result type="redirect">/employeeAdd.jsp?username=${username}</result>
</action>
URLEncoder.encode("傳智播客","UTF-8");
取值解碼
在前臺<% = URLDecoder.decode(new String(request.getParameter("username").getBytes("ISO8859-1"),"UTF-8"),"UTF-8") %>jsp
2.redirectAction是重定向到某個Action
<action name="redirectAction">
<resutl type="redirectAction">Action的名稱</resutl>
</action>
重定向到另外一個包下的Action如何?
<action name="redirectAction">
<resutl type="redirectAction">
<param name="actionName">Action名稱</param>給源代碼的這兩個屬性注入值
<param name="namespace">/control/department</param>
</resutl>
</action>
3.plainText適用於查看某個JSP源代碼即顯示源代碼的時候使用
<action name="plainText">
<resutl type="plainText">/index.jsp</result>
</action>
結果會將整個視圖的源代碼輸出在瀏覽器上給用戶看UTF-8的模式呈現不會說中文亂碼
<action name="plainText">
<resutl type="plainText">
<param name="location">/index.jsp</param>
<param name="charSet">UTF-8</param>
</result>
</action>
4.大多數Action公用的視圖配置
<global-results>
<result name="message">/WEB-INF/page/message.jsp</result>
</global-results>
這段代碼放在某個<package></package>代碼段中的Action是公用視圖外若是想定義全局的話能夠
<package name="base" extends="struts-default">
</package>
其它包繼承 extentds="base"就OK 各個包中的Action使用公共視圖就這樣定義全局視圖spa
-------------------------------------------------------------------------------------------------------------code
爲Action的屬性注入值
要實現依賴注入必須提供Set方法
<struts>
<package name="itcast" namespace="/control/employee" extends="struts-default">
<action name="list" class="cn.itcast.action.HelloWorldAction" method="execute">
<param name="savepath">/images</param>給Action中的savepath屬性注入的值
<result name="success">/WEB-INF/page/message.jsp</result>
</action>
</package>
</struts>繼承