目錄
- 什麼是結果視圖?
- 如何配置結果視圖?
- 理解轉發與重定向的四種區別
- dispatcher + redirect
- chain + redirectAction
<一> 什麼是結果視圖?
☞ 關於package的內容請參考:https://kylee.blog.csdn.net/article/details/106665992
用於展示結果的頁面叫做"結果視圖",本篇文章主要介紹如何使用在struts.xml配置文件中使用result配置路徑對應的頁面,即配置結果視圖。
<二> 如何配置結果視圖?
1> 理解轉發與重定向的四種區別
- 轉發是服務器端操作,重定向是客戶端操作(重定向狀態碼一般爲302)
- 轉發瀏覽器只需要出一條請求,重定向瀏覽器需要處理/發送兩條請求
- 轉發URL不變,重定向會改變當前URL
- 轉發不會丟失request域中數據,重定向會丟失
2> result標籤屬性(結果視圖屬性)
結果視圖名稱name + 結果視圖類型type
3> 轉發與重定向
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>
<constant name="struts.devMode" value="true"></constant>
<constant name="struts.action.extension" value="action,,"></constant>
<package name="p1" extends="struts-default" namespace="/demo1">
<action name="page1_1">
<result name="success" type="chain">page1_2</result>
</action>
<action name="page1_2">
<result name="success">/page/page1_2.jsp</result>
</action>
</package>
<package name="p2" extends="struts-default" namespace="/demo2">
<action name="page2_1">
<result name="success" type="redirectAction">
<param name="namespace">/demo1</param>
<param name="actionName">page1_2</param>
</result>
</action>
<action name="page2_2">
<result name="success" type="chain">
<param name="namespace">/demo1</param>
<param name="actionName">page1_2</param>
</result>
</action>
</package>
<package name="error" extends="struts-default">
<action name="*">
<result>/page/404.html</result>
</action>
</package>
</struts>