• struts2为什么action要继承actionSupport类


    我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类, 并重载(Override)此类里的String execute()方法,因为ActionSupport已经实现了Action接口, 还实现了Validateable接口,提供了数据校验功能。通过继承该ActionSupport类,可以简化Struts 2的Action开发。  

     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方法

  • 相关阅读:
    解决Python开发中,Pycharm中无法使用中文输入法问题
    PointNet++作者的视频讲解文字版
    StringBuilder
    DropDownList 添加“请选择”
    SQLServer 2008中SQL增强之三 Merge(在一条语句中使用
    ASP.NET Web Forms 的 DI 應用範例
    怎么设置环境变量
    ParameterizedThreadStart,ThreadStart的使用,线程Thread传参数
    异步删除
    SqlCommandBuilder的作用
  • 原文地址:https://www.cnblogs.com/fengli9998/p/6504461.html
Copyright © 2020-2023  润新知