Struts2 通過配置struts.xml中的actio標籤name屬性值來與請求路徑映射

Struts2 通過配置struts.xml中的actio標籤name屬性值來與請求路徑映射

默認情況下Struts2 通過配置struts.xml中的package標籤 namespace屬性

值來與請求路徑映射的。

通過以下幾步就可以修改這個默認設定

1 dafult.properties struts-core.jar

中找到[struts.enable.SlashesInActionNames = false]後,在class 目錄下新建

struts.properties文件,並修改:[ struts.enable.SlashesInActionNames = true]

    2設定struts.xml

     <package name="xuxl1" extends="struts-default">

       <action name="test1/test1" class="xuxl.struts.action.Test1">

         <result name="success">/test1.jsp</result>

       </action>

     </package>

     <package name="xuxl2" extends="struts-default" namespace="/test2">

       <action name="test2" class="xuxl.struts.action.Test2">

         <result name="success">/test2.jsp</result>

       </action>

     </package>

注意:action標籤 name屬性["test1/test1"]不能以[/]開頭

      package標籤 namespace屬性["/test2 "][/]開頭。(參照root namespace文檔)

原因 struts [package標籤 namespace屬性值]+[/] +[ackage標籤 namespace屬性]和 請求路徑匹配後,來調用對應action

假設請求路徑如下

String path = request.getContextPath();

<a href="<%=path%>/test1/test11/test1.action">test1</a><br>

那麼struts.xml進行如下設置 便可以匹配到請求    

     <package name="xuxl1" extends="struts-default" namespace="/test1">

       <action name="test11/test1" class="xuxl.struts.action.Test1">

         <result name="success">/test1.jsp</result>

       </action>

     </package>

 

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