尊重原创:http://xumiao900.iteye.com/blog/469760
Action 跟 Actionsupport
的差别
当我们在写action的时候,能够实现Action接口,也能够继承Actionsupport这个类.究竟这两个有什么差别呢?
Action接口有:
public static final java.lang.String SUCCESS = "success";
public static final java.lang.String NONE = "none";
public static final java.lang.String ERROR = "error";
public static final java.lang.String INPUT = "input";
public static final java.lang.String LOGIN = "login";
public abstract java.lang.String execute() throws java.lang.Exception;
而Actionsupport这个工具类在实现了Action接口的基础上还定义了一个validate()方法,重写该方法,它会在execute()方法之前运行,如校验失败,会转入input处,必须在配置该Action时配置input属性。
另外,Actionsupport还提供了一个getText(String key)方法还实现国际化,该方法从资源文件上获取国际化信息.
这样在自己定义标签时能够定义一个变量为new actionsupport对象实现国际化。
ActionSupport类的作用
struts2不要求我们自己设计的action类继承不论什么的struts基类或struts接口。可是我们为了方便实现我们自己的action。大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类。并重写此类里的public String execute()
throws Exception方法。由于此类中实现了非常多的有用借口,提供了非常多默认方法,这些默认方法包含国际化信息的方法、默认的处理用户请求的方法等,这样能够大大的简化Acion的开发。
Struts2中通常直接使用Action来封装HTTP请求參数,因此,Action类里还应该包包括对应的属性的请求参数,但也提供了相应的属性getter和setter办法。
版权声明:本文博主原创文章,博客,未经同意不得转载。