01_5_Struts_ActionMethod_DMI_动态方法调用
1. ActionMethod_DMI_动态方法调用
Action执行的时候并不一定要执行execute()方法
可以在配置文件中配置Action的时候用method=来指定执行哪个方法 也可以在url地址中动态指定(动态方法调用DMI)
2. 第一种方式
2.1配置struts.xml文件
<package name="user" namespace="/user" extends="struts-default">
<action name="user" class="com.sumapay.user.UserAction" method="add">
<!-- method定义会去调用UserAction中的add方法,而不是默认的execute()方法
方法中return返回的字符串,根据result标签中的name,返回响应的jsp页面-->
<result name="success">
/AddUser.jsp
</result>
<result name="add">
/AddUserSuccess.jsp
</result>
</action>
</package>
2.2创建相应的Action类
package com.sumapay.user;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
private static final long serialVersionUID = 1L;
public String add() {
return "add";
}
public String execute() {
return "success";
}
}
3第二种方式
3.1配置struts.xml文件
<package name="user" namespace="/user" extends="struts-default">
<action name="user" class="com.sumapay.user.UserAction">
<result name="add">
/AddUser.jsp
</result>
<result name="success">
/AddUserSuccess.jsp
</result>
</action>
</package>
3.2调用方式
http://127.0.0.1:8080/Struts2_0100_Introduction/user/user!execute
###调用UserAction类中的execute方法
http://127.0.0.1:8080/Struts2_0100_Introduction/user/user!add
###调用UserAction类中的add方法