ActionSupport、Preparable_详解

来源:互联网 发布:数控铣床编程实例带图 编辑:程序博客网 时间:2024/05/18 00:58

--

  • struts2 中 ActionSupport的作用


  • Action 跟 Actionsupport 的区别:

当我们在写Action的时候,可以实现Action接口,也可以继承ActionSupport这个类.到底这两个有什么区别呢?
Action接口有:

  1. public static final java.lang.String SUCCESS = "success";
  2. public static final java.lang.String NONE = "none";
  3. public static final java.lang.String ERROR = "error";
  4. public static final java.lang.String INPUT = "input";
  5. public static final java.lang.String LOGIN = "login";
  6. 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方法。

  • Preparable接口的作用:

    程序员在使用struts2的开发中,把crud方法放在某一个Action类中,就必定涉及到一些数据准备的事情;用Preparable接口就再合适不过去,只需要实现Preparable接口的prepare()方法,这个方法会在Action类的所有方法执行前被执行。


原创粉丝点击