Struts 2框架通过自动调用Action类的方法来实现相应的事件处理。Action类的构造需要ActionSupport基类以及Action接口。
Struts 2框架提供了一个Action接口,该接口定义了Struts 2的Action类的实现规范
public interface 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;}
Action接口定义了5个字符串常量和一个execute()方法。每个Action类都必须包含一个execute()方法,该方法返回一个字符串。而接口中定义的5个常量用来统一execute()方法返回的值
ActionSupport类实现了Action接口,它是一个默认的Action实现类,提供了很多默认方法,包括数据校验方法,获取国际化信息方法等。实际应用中,程序员定义的Action类都会继承ActionSupport类而不是实现Action接口,这可以大大简化程序员的编码过程。
另外,Action类继承了ActionSupport类,因此必须定义一个变量serialVersionUID。这是因为ActionSupport类实现了Serializable接口,任何实现Serializable接口的类都必须声明serialVersionUID。