首先来看 structs.xml 配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="user" extends="struts-default" namespace="/user">
<action name="userAdd" class="com.zxh.struts2.user.action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>
<action name="user" class="com.zxh.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>
</package>
</struts>
然后来看UserAction中的代码
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
public String add() {
return SUCCESS;
}
}
Action执行的时候并不是一定要执行execute方法:
1.可以在配置文件struts.xml中配置Action的时候用method=”“来制定执行那个方法,但是会产生太多的action,所以不太推荐此种方式。
2.可以在url地址中动态指定(动态方法调用DMI),如本例中的就可以这样输入url
http://localhost:8080/Struts2_0500_ActionMethod/user/user!add
此时就会调用
<action name="user" class="com.zxh.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>
中指明的UserAction的add方法