1. Action的順序,會先搜索指定名字下的包的action,如果找不到會去搜索默認路徑下的包下的action。
2. 如果沒有給action設置值,那麼action會有一些默認值,如果沒有指定class,默認ActionSupport,如果沒有指定方法,默認為execute方法,如果沒有指定result屬性默認是success屬性。
3. <package name="aa" namespace="/test"extends="struts-default">
<action name="fish">
<result>/index.jsp</result>
</action>
</package>
利用默認值實現一個最簡單的跳轉
3. result的各種轉發類型:dispatcher(默認);redirect(重定向)這裡跳轉到jsp但是jsp不能在web-inf路徑下;redirectAction,;plainText
,
4. 什麼是重定向?
重定向是一種特殊的頁面,它提供一種運作機制,使得人們在輸入該名稱進入條目或者點擊指向該名稱的內部鏈接時,系統能夠自動導航到重定向頁面內部指定的另一相關頁面中,從而實現相關頁面可以以多個名稱進行訪問。舉例來說,如果設定了一個指向“澳大利亞”的名稱為“澳洲”的重定向頁,任何人都可以用“澳洲”這一名稱進入到澳大利亞條目中。
我們在網站建設中,時常會遇到需要網頁重定向的情況:
1.網站調整(如改變網頁 目錄結構);
2.網頁被移到一個新地址;
3.網頁擴展名改變(如應用需要把.php改成.Html或.shtml)。
5.<global-results>這是全局試圖
6.<action name="redfish">
<result type="redirect" >/index.jsp</result>
</action>
這是重定向的用法。
這是Test.Java文件
packagecom.fish;
public class Test {
privateString username;
publicString getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
publicString execute(){
return "success";
}
}
這是一個struts2.XML文件
<package name="fish"namespace="/test" extends="struts-default">
<action name="redfish" class="com.fish.Test"method="execute">
<param name="username">張三</param>//我們可以通過獲取節點來設置username的值
<result name="success">
/MyJsp.jsp
</result>
</action>
那麼我們在jsp裡面通過el表達式就可以獲得
$(username)裡面的值為張三
下面我們在struts2.xml加上一段話
<action name="aa">
<result type="redirectAction">redfish</result>
</action>
利用這個action我們可以調用上面的refish裡面的視圖,redirectAction是可以其他視圖的。
我們在加上一句話,
<action name="bb">
<result type="redirect">/index.jsp</result>
</action>
通過這個我們可以對他重定向。重定向是會改變在浏覽器裡面的頁面路徑的,會指向真是存在的jsp或者action的路徑。