第一種:指定Method屬性(Action比較多)
<!-- 聲明包 -->
<package name="user" extends="struts-default">
<!-- 定義action -->
<action name="first" class="com.sxt.action.UserAction" method="first" >
<!-- 定義處理成功後的映射頁面 -->
<result name="first">first.jsp</result>
</action>
<action name="second" class="com.sxt.action.UserAction" method="second" >
<result name="second">second.jsp</result>
</action>
<action name="third" class="com.sxt.action.UserAction" method="third" >
<result name="third">first.jsp</result>
</action>
</package>
第二種:感歎號方式(需要開啟開關)官網不推薦使用這種方式
(1)Structs2中開啟開關和定義Action
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<action name="userAction" class="com.sxt.action.UserAction">
<!-- 定義處理成功後的映射頁面 -->
<result name="add">user_add.jsp</result>
<result name="update">user_update.jsp</result>
</action>
(2)index.jsp中
<a href="userAction!add">添加用戶</a>
<a href="userAction!update">修改用戶</a>
(3)創建名為UserAction的Action對象
public class UserAction extends ActionSupport {
public String add(){
return "add";
}
public String update(){
return "update";
}
}
第三種:通配符方式(官方推薦使用)
(1)jsp頁面中
<a href="useraddAction">添加用戶</a>
<a href="userupdateAction!">修改用戶</a>
(2)Structs2.xml中定義Action
<action name="user*Action" class="com.sxt.action.UserAction" method="{1}">
<!-- 定義處理成功後的映射頁面 -->
<result name="add">user_add.jsp</result>
<result name="update">user_update.jsp</result>
</action>