Action介紹

一、Action名稱的搜索順序

1、獲得請求路徑URL。例如url是:http://server/struts2/path1/path2/path3/test.action
2、首先尋找namespace爲path1/path2/path3的package。如果不存在這個package,則執行步驟3.如果存在這個package。則在這個package中尋找名字爲test的action。當在該package中找不到action時就會直接跑到默認namespace裏的package裏面尋找action(默認的命名空間爲空字符串).如果在默認的namespace的package中還找不到action,頁面提示找不到action。
3、尋找namespace爲/path1/path2的package,如果不存在這個package,則轉到步驟4。如果存在這個package。則在這個package中尋找名字爲test的action。當在該package中找不到action時就會直接跑到默認namespace裏的package裏面尋找action(默認的命名空間爲空字符串).如果在默認的namespace的package中還找不到action,頁面提示找不到action。
4、尋找namespace爲/path1的package,如果不存在這個package,則轉到步驟5。如果存在這個package。則在這個package中尋找名字爲test的action。當在該package中找不到action時就會直接跑到默認namespace裏的package裏面尋找action(默認的命名空間爲空字符串).如果在默認的namespace的package中還找不到action,頁面提示找不到action。
5、尋找namespace爲/的package。如果存在這個package。則在這個package中尋找名字爲test的action。當在該package中找不到action時就會直接跑到默認namespace裏的package裏面尋找action(默認的命名空間爲空字符串).如果在默認的namespace的package中還找不到action,頁面提示找不到action。

二、Action配置的各項默認值

<package name="struts" namespace="/test" extends="struts-default">
        <action name="helloWorld" class="com.struts2.test.HelloWorld" method="excute">
            <result name="SUCCESS">/WEB-INF/test/helloWorld.jsp</result>
        </action>
</package>
1)如果沒有爲action指定class,默認是ActionSupport。通過ActionSupport的excute方法尋找相關視圖。
2)如果沒有爲action指定method,默認執行action中的excute方法。
3)如果沒有指定result的那麼屬性,默認值爲success。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章