背景
DefaultAction也是有其應用背景的,中文名稱爲默認action,從名稱來看,我們也可以比較好的理解,默認的意思就是如果沒有其他操作,就選擇規定的一個。所有默認action的意思就是,如果輸入的URL和其他的action都不匹配的話,就選擇這個默認action。在現實的應用就是,可能在一個網站上,亂輸URL,肯定找不到對應的網頁,那麼就跳轉到你指定的一個網頁,比如說,主頁。
DefaultAction
1. 分析
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="default"></default-action-ref>
<action name="default">
<result>/default.jsp</result>
</action>
<action name="index">
<result>/index.jsp</result>
</action>
</package>
</struts>
可以發現,兩個action,一個是default,一個是index,如果輸了完整的URL,就是跳轉到index.jsp。否則其他亂輸URL的,都跳轉到default.jsp。
index.jsp和default.jsp的具體代碼就不寫了,因爲都很簡單,大家看到結果就都懂了。
2. 結果
將struts.xml中下面這句代碼註釋
<default-action-ref name="default"></default-action-ref>
得到如下結果:
輸入http://localhost:8080/Struts2_1400_DefaultAction/index
輸入http://localhost:8080/Struts2_1400_DefaultAction/(亂七八糟)
之後,將註釋的代碼取消註釋。
輸入http://localhost:8080/Struts2_1400_DefaultAction/index
輸入http://localhost:8080/Struts2_1400_DefaultAction/(亂七八糟)
從結果我們可以分析出,此句代碼
<default-action-ref name="default"></default-action-ref>
的作用就是設置一個default action,默認action,當輸入的URL地址,符合相應名稱空間,但是不符合其他action的時候,這個默認action就生效,這個URL就和這個默認action匹配上了。
以上就是本小節的所有內容
若有不足之處,請不吝賜教