Struts2_ActionSupport
<action name="TestActionSupport">
<result>/test-actionsupport.jsp</result>
</action>
等同於
<action name="TestActionSupport"
class="com.opensymphony.xwork2.ActionSupport" method="execute">
<result>/test-actionsupport.jsp</result>
</action>
2).在手工完成字段驗證,顯示錯誤消息,國際化等情況下,推薦繼承ActionSupport.
<action name="TestActionSupport">
<result>/test-actionsupport.jsp</result>
</action>
<a href="TestActionSupport">TestActionSupport</a>
通配符映射
package com.wul.struts2_4.action;
public class UserAction {
public String save(){
System.out.println("save");
return "save-success";
}
public String update(){
System.out.println("update");
return "update-success";
}
public String delete(){
System.out.println("delete");
return "delete-success";
}
public String query(){
System.out.println("query");
return "query-success";
}
public String test(){
System.out.println("test");
return "test-success";
}
}
在struts.xml中,
<action name="UserAction-*" class="com.wul.struts2_4.action.UserAction" method="{1}">
<result name="{1}-success">/chenggong.jsp</result>
</action>
(2) <action name="UserAction-save" class="com.wul.struts2_4.action.UserAction" method="test">
<result name="test-success">/chenggong.jsp</result>
</action>
傳過來的action是"UserAction-save"的話,因爲有save方法和test方法與其對應,但test方法是精確匹配,所以執行(2) <action name="UserAction-save" class="com.wul.struts2_4.action.UserAction"
method="save">
<result name="save-success">/chenggong.jsp</result>
</action>
<action name="UserAction-update" class="com.wul.struts2_4.action.UserAction"
method="update">
<result name="update-success">/chenggong.jsp</result>
</action>
<action name="UserAction-delete" class="com.wul.struts2_4.action.UserAction"
method="delete">
<result name="delete-success">/chenggong.jsp</result>
</action>
<action name="UserAction-query" class="com.wul.struts2_4.action.UserAction"
method="query">
<result name="query-success">/chenggong.jsp</result>
</action>
等同於
<action name="UserAction-*" class="com.wul.struts2_4.action.UserAction" method="{1}">
<result name="{1}-success">/chenggong.jsp</result>
</action>
---(0)匹配整個URI
----若struts找到的帶有通配符的匹配不止一個,則按先後順序進行匹配(沒有通配符,但傳過來的action都相同會默認執行後面一個)
<action name="*-update" class="com.wul.struts2_4.action.UserAction"
method="test">
<result name="test-success">/chenggong.jsp</result>
</action>
<action name="UserAction-*" class="com.wul.struts2_4.action.UserAction"
method="{1}">
<result name="{1}-success">/chenggong.jsp</result>
</action>
----*可以匹配零個或多個字符,但不包括/字符,如果想把/字符包括在內,需要使用**,如果需要對某個字符進行轉義,需要使用\.
動態方法調用:通過url動態調用Action中的方法
action聲明
URL :
-- /struts-app2/Product.action Struts調用Product類的execute
--/struts-app2/Product!save.action Struts調用Product類的save()方法
默認情況下,Struts的動態方法調用處於禁用狀態