struts2中的action可以继承ActionSupport,也可以不继承ActionSupport。
不继承ActionSupport的情况只需要有一个方法,返回String,即可,记住,在继承ActionSupport的情况下,必须有无参构造函数。
继承ActionSupport的好处在于:
1、能够使用struts预设的返回字符串,如SUCCESS,INPUT等等。
2、重写方法,更方便的实现验证、国际化等等功能。
3、与struts的功能结合紧密,方便开发。

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/ysq0908/p/4649541.html

Action类一般情况为何要继承ActionSupport相关推荐

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

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

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

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

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

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

  4. Struts2中的action类

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

  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. Cocos2d之Action类详解

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

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

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

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

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

  10. c++面试常用知识(sizeof计算类的大小,虚拟继承,重载,隐藏,覆盖)

    一. sizeof计算结构体 注:本机机器字长为64位 1.最普通的类和普通的继承 #include<iostream> using namespace std;class Parent{ ...

最新文章

  1. (邓爱萍)继承 课本
  2. CentOS 6.6安装Xtrabackup RPM提示缺少libev.so.4()
  3. 百度地图api---实现新建地图
  4. 02_c3p0之c3p0-config.xml配置案例,操作c3p0的jdbcUtil工具类的编写
  5. ob服务器维修视频,教你如何使用OB系统 还在看转播?你OUT了!
  6. Kafka消息序列化和反序列化(上)
  7. 服务器php只显示文本,服务器上的php echos文件是文本而不是二进制文件
  8. RDLC系列之五 初试XAML
  9. jquery评分效果Rating精华版
  10. SQLyog备份与还原数据库
  11. 未找到插件 ‘org.springframework.bootspring-boot-maven-plugin‘(已解决 )
  12. Layui 数据表格复杂表头
  13. 论文中的Matlab画图常用技巧
  14. 切割视频——将视频截取python实现
  15. mac 命令修改dns服务器,MAC设置DNS的步骤
  16. 1.7 F1方程式冠军
  17. (win10家庭版)修改C盘Users目录下文件夹名称
  18. 【NLP相关】开源中文NLP大模型及项目集合
  19. 矢网校准到底在较什么呢?
  20. AMBA总线协议(一)——一文看懂APB总线协议

热门文章

  1. centos下安装和卸载jdk
  2. MySQL解压缩版配置安装详解【图解】
  3. c语言的加法和平均值程序,编写求一组整数的和与平均值的程序
  4. mongodb导入bson文件_分布式文档存储数据库之MongoDB备份与恢复
  5. MATLAB常用三角函数
  6. 微信小程序生成海报分享:canvas绘制文字溢出如何换行
  7. VS2015:出现devenv.sln解决方案保存对话框
  8. 2016012013 王雪 散列函数的应用及其安全性
  9. Spring中使用 InitializingBean
  10. 详解串行通信协议及其FPGA实现