第四記:result視圖轉發類型
(1)、普通的頁面轉發
<action name="example" class="com.marker.controller.ExampleAction">
<result name="index">/index.jsp</result>
<result name="list">/WEB-INF/pages/list.jsp</result>
<result name="success">/WEB-INF/pages/success.jsp</result>
</action>
(2)、redirect重定向
重定向到JSP頁面:
<result name="index" type="redirect">/help/index.jsp</result>
</action>
注:重定向時,在WEB-INF下的文件不能夠重定向找到。
3-1:直接用類似EL表達式傳遞參數
<action name="example" class="com.marker.controller.ExampleAction">
<result name="index" type="redirect">/help/index.jsp?name=${name}</result>
</action>
3-2:處理中文參數 如果不轉碼:在jsp頁面獲取的方式爲:${param.name},中文顯示爲亂碼。
編碼: String name=URLEncoder("中華帝國",“UTF-8”);
解碼:<%= new String(request.getParameter("name").getBytes("ISO8859-1","UTF-8"),"UTF-8") %>
(4)、redirectAction重定向
2-2:重定向到Action:
<action name="example0" class="com.marker.controller.ExampleFAction">
<result name="index" type="redirect">/help/index.jsp</result>
<result >/default.jsp</result>
</action>
<action name="example" class="com.marker.controller.ExampleAction">
<result type="redirectAction">
<param name="actionName">example0</param>
<param name="namespace">/</param>
</result>
</action>
(5)、plainText視圖代碼輸出
<action name="example" class="com.marker.controller.ExampleAction">
<result type="plainText">
<param name="location">/test/home.jsp</param> <-!指定視圖路徑 -->
<param name="charSet">UTF-8</param> // <-!解決輸出頁面中文亂碼問題 -->
</result>
</action>
(6)、在某個包下創建一個公共視圖 6-1:同一個包下訪問
<package name="hers" namespace="/hers/">
<globle-results>
<result name="message">/messages.jsp</result>
<globle-results>
</package>
訪問路徑:/hers/message.action
6-2:不同包下的訪問,全局視圖
<package name="his" namespace="/his/" extends="hers">
<action name="example" class="com.marker.controller.ExampleAction">
<result name="index" >/index.jsp</result>
</action>
</package>
訪問路徑:/his/message.acti