action元素代表一个类,Action代表一次动作,如用户注册,购买商品等
Action的写法
一、
public class Myaction1 {
public String mytest(){
return “index”;
}
}
struts.xml文件中配置:
<package name="actionTest" namespace="/" extends="struts-default">
<action name="myaction_*" method="{1}" class="com.xgss.action.Myaction1">
<result name="index">index.jsp</result>
</action>
</package>
用myaction_mytest.action访问
可以指定访问的方法。
二、
public class Myaction1 {
public String execute(){
return “index”;
}
}
struts.xml配置
<package name="actionTest" namespace="/" extends="struts-default">
<action name="myaction" class="com.xgss.action.Myaction1">
<result name="index">index.jsp</result>
</action>
</package>
用myaction.action访问
不指定访问的方法,默认执行execute方法
三、
public class Myaction1 implements Action {
public String execute(){
return “index”;
}
}
Action接口
public static final String SUCCESS = “success”;
public static final String NONE = “none”;
public static final String ERROR = “error”;
public static final String INPUT = “input”;
public static final String LOGIN = “login”;
public String execute() throws Exception;
所以实现Acion接口就要实现execute()方法。
四、
public class Myaction1 extends ActionSupport{
public String mytest(){
return “index”;
}
public String execute(){
return “index”;
}
}
ActionSupport类
implements Action, Validateable, ValidationAware, TextProvider, LocaleProvider, Serializable
该类实现了很多的接口,所以可以提供更多的功能。只要想用直接调用就行,而且在安全上和稳定性上做了很好的处理。
总结:
如果要用到ActionSupport类中实现的国际化,验证等功能可以继承它来写Action
Action默认的执行方法是execute方法,如果指定了方法就会执行指定方法。
struts.xml文件中class如果不写,默认执行ActionSupport中的execute方法
result的name不写默认是success