Struts2 學習之路(二):2.4 Struts2(2.5.14.1版本)中的萬用字元匹配問題
阿新 • • 發佈:2019-02-04
struts.xml 配置檔案中萬用字元的匹配
- 可以匹配action節點中的class屬性,method屬性,result子節點的name屬性,甚至是result子節點的路徑內容
- 因為2.5.x版本和以前的版本都不一樣,所以需要特殊配置
<struts>
<!-- 配置struts2 可以受理請求的副檔名:以.action,.do結尾或者什麼都不寫均可 -->
<constant name="struts.action.extension" value="action,do,"></constant>
<!-- 萬用字元的配置方法一:需要設定這個常量為true,然後再在action中單獨設定 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<package name="actionContext" extends="struts-default" >
<!-- 萬用字元的配置方法二:直接就在package裡面新增允許通過萬用字元的方法 -->
<!-- <global-allowed-methods>login</global-allowed-methods> -->
<action name="userAction-*" class="cn.zc.cris.Wildcards.UserAction" method="{1}">
<result name="{1}-success">/success.jsp</result>
<!-- 萬用字元的使用方法一:上面設定完常量後,還要在action中設定允許使用萬用字元的方法,
execute,input,back,cancel,browse,save,delete,list,index這些方法不需配置,即可使用
-->
<allowed-methods>add,update,query</allowed-methods>
</action>
</package>
</struts>
前臺頁面:
<a href="userAction-query">user query</a>
<br><br>
<a href="userAction-delete">user delete</a>
<br><br>
<a href="userAction-add">user add</a>
<br><br>
<a href="userAction-update">user update</a>
後臺action:
public class UserAction {
public String update() {
System.out.println("update");
return "update-success";
}
public String add() {
System.out.println("add");
return "add-success";
}
public String delete() {
System.out.println("delete1");
return "delete-success";
}
public String query() {
System.out.println("query");
return "query-success";
}
}