理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法。当然我们也可以在写action的时候实现Action接口.

  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,大多数情况下都会继承ActionSupport类,并重写此类里的public String execute() throws Exception方法。因为此类中实现了很多的实用借口,提供了很多默认方法,这些默认方法包括国际化信息的方法、默认的处理用户请求的方法等,这样可以大大的简化Acion的开发。 
    Struts2中通常直接使用Action来封装HTTP请求参数,因此,Action类里还应该包含与请求参数对应的属性,并且为属性提供对应的getter和setter方法。

参考资料:

  http://xumiao900.iteye.com/blog/469760

  http://www.cnblogs.com/ITEagle/archive/2010/04/02/1703404.html

转载于:https://www.cnblogs.com/ningvsban/p/3588451.html

Action类为何要继承ActionSupport相关推荐

  1. Struts2实现Preparable接口和【struts2】继承ActionSupport类

    Struts2实现Preparable接口 实现preparable接口,实现public void prepare() throws Exception 方法.当你访问某问action指定方法之前, ...

  2. Struts2中的action类

    Struts2中的action类 action类在Struts2中承担了Model(模型)的角色,主要用于处理业务逻辑并存放HTTP请求处理过程中各个变量的值. 在Struts2里面,Action充当 ...

  3. Struts2学习日记(二)简单的Struts2登陆实现(Action继承ActionSupport类)

    功能实现:实现登陆功能,输入用户名和密码,如果用户名不为hello或者密码不为world,便返回登陆页并提示错误,否则显示登陆结果. 1.打开MyEclipse,创建一个webProject项目. 2 ...

  4. 一个action类中写多个方法需要继承MappingDispatchAction

    原本action里只有一个默认execute方法,今天我在action里增加了方法后发现页面卡死无法跳转了,原来如果写多个方法要继承DispatchAction类. 一个action中有一个execu ...

  5. JAVA框架Struts2 Action类

    一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. ...

  6. ssh备考-05Struts2 Action类下的重要API(原生Servlet的API、跳转配置、框架自身的数据封装、自定义拦截器)

    目录 一.Struts框架中如何使用原生Servlet的API 方法一.使用ActionContext类(完全解耦合的方式)(不好用,了解) demo1.jsp demo1Action.java    ...

  7. 继承ActionSupport的例子

    ActionSupport是Struts2框架提供的一个便利类,为最常见的操作提供默认实现,继承它后可以做很多操作,例如国际化,验证,等等. ActionSupport是Action下延伸出来的类,它 ...

  8. Cocos2d之Action类详解

    一.声明 文章中使用到的cocos2d的源代码的版本是cocos2d-x-3.3rc0. 二.主要内容 [Action类简介] 在cocos2d中,Action类是所有动作的基类.Action类继承了 ...

  9. Struts2教程6:在Action类中获得HttpServletResponse对象的四种方法

    在struts1.x Action类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得H ...

  10. Struts2 - 在Action类中获得HttpServletResponse对象

    Struts2 - 在Action类中获得HttpServletResponse对象 在struts1.x Action类的execute方法中,有四个参数,其中两个就是 response和reque ...

最新文章

  1. 转:动态链接库的全局变量问题
  2. 很抱歉,这场大会我们没法卖票给你了
  3. 【ThinkPHP3.2.3】学习ThinkPHP笔记:框架中的配置文件(3)
  4. 临阵磨枪,血拼季网站优化的最后三板斧
  5. SimpleDateFormat解析的时候字符串过长问题
  6. UIImagePickerController按钮的中文问题
  7. java 装饰者_java装饰者模式怎么用?
  8. clone repository in git shell under windows
  9. Security+ 学习笔记24 数据中心防护
  10. SDRAM学习笔记(二)
  11. java filter重定向_Java Filter(过滤器)——重定向
  12. 【优化算法】非支配排序遗传算法(NSGA)【含Matlab源码 176期】
  13. php 程序设计代码教程
  14. DSP2812开发板学习
  15. SVG 矩形rect 学习
  16. 刘彬20000词汇03
  17. TensorFlow绘制loss/accuracy曲线
  18. FZU2285 迷宫寻宝
  19. 想通过参加会议年入30万,没这些能力可不行——百格活动
  20. PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))...

热门文章

  1. 进程缓存和缓存服务,如何抉择?
  2. 涉及金钱使用double的已经被公司开除了,要使用BigDecimal
  3. 我们决定聚在一起搞大事
  4. 你靠什么在单位立足?此文堪称经典
  5. 如何胜任一个小型公司的技术总监?
  6. 粗浅看 Tomcat系统架构分析
  7. 前后端分离之后,如何保护你的API
  8. ubuntu13.10安装mysql_Ubuntu 10.10 源码安装MySQL 5.1.34
  9. socket.io 消息发送
  10. html中q标签和blockquote标签的区别