Action类为何要 extends ActionSupport以及实现ModelDriven

 

Action类为何要 extends ActionSupport以及实现ModelDriven图如题


注意

继承ActionSupporty引入的包是com.opensymphony.xwork2.ActionSupport;

实现​ ModelDriven引入的包也是com.opensymphony.xwork2.ModelDriven;


首先:

1、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; 

​2、Actionsupport这个工具类在实现了Action接口的基础上还定义了一个validate()方法

​重写(Override)该方法,它会在execute()方法之前执行,如校验失败,会转入input处

Action类为何要 extends ActionSupport以及实现ModelDriven所以我们必须在sturts.xml配置该Action时配置input属性


3、ActionSupport类实现了很多有用的接口

比如上面的Action接口,所以继承这个类,为我们提供许多默认方法

(1)、默认的处理用户请求的方法等,这样可以大大的简化Acion的开发。 ​

(2)、国际化信息的方法



4、所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象

由此,可知3个必备项目:​实体类、Action类、以及对应的页面jSP

Action类为何要 extends ActionSupport以及实现ModelDriven实体类
Action类为何要 extends ActionSupport以及实现ModelDriven实现ModelDriven接口
Action类为何要 extends ActionSupport以及实现ModelDriven jsp页面数据的收集对象(username、password、age等等),按提交按钮时会自动收集数据对象后,再根据MVC机制进行处理