Action类为何要继承ActionSupport
理论上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相关推荐
- Struts2实现Preparable接口和【struts2】继承ActionSupport类
Struts2实现Preparable接口 实现preparable接口,实现public void prepare() throws Exception 方法.当你访问某问action指定方法之前, ...
- Struts2中的action类
Struts2中的action类 action类在Struts2中承担了Model(模型)的角色,主要用于处理业务逻辑并存放HTTP请求处理过程中各个变量的值. 在Struts2里面,Action充当 ...
- Struts2学习日记(二)简单的Struts2登陆实现(Action继承ActionSupport类)
功能实现:实现登陆功能,输入用户名和密码,如果用户名不为hello或者密码不为world,便返回登陆页并提示错误,否则显示登陆结果. 1.打开MyEclipse,创建一个webProject项目. 2 ...
- 一个action类中写多个方法需要继承MappingDispatchAction
原本action里只有一个默认execute方法,今天我在action里增加了方法后发现页面卡死无法跳转了,原来如果写多个方法要继承DispatchAction类. 一个action中有一个execu ...
- JAVA框架Struts2 Action类
一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. ...
- ssh备考-05Struts2 Action类下的重要API(原生Servlet的API、跳转配置、框架自身的数据封装、自定义拦截器)
目录 一.Struts框架中如何使用原生Servlet的API 方法一.使用ActionContext类(完全解耦合的方式)(不好用,了解) demo1.jsp demo1Action.java ...
- 继承ActionSupport的例子
ActionSupport是Struts2框架提供的一个便利类,为最常见的操作提供默认实现,继承它后可以做很多操作,例如国际化,验证,等等. ActionSupport是Action下延伸出来的类,它 ...
- Cocos2d之Action类详解
一.声明 文章中使用到的cocos2d的源代码的版本是cocos2d-x-3.3rc0. 二.主要内容 [Action类简介] 在cocos2d中,Action类是所有动作的基类.Action类继承了 ...
- Struts2教程6:在Action类中获得HttpServletResponse对象的四种方法
在struts1.x Action类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得H ...
- Struts2 - 在Action类中获得HttpServletResponse对象
Struts2 - 在Action类中获得HttpServletResponse对象 在struts1.x Action类的execute方法中,有四个参数,其中两个就是 response和reque ...
最新文章
- 转:动态链接库的全局变量问题
- 很抱歉,这场大会我们没法卖票给你了
- 【ThinkPHP3.2.3】学习ThinkPHP笔记:框架中的配置文件(3)
- 临阵磨枪,血拼季网站优化的最后三板斧
- SimpleDateFormat解析的时候字符串过长问题
- UIImagePickerController按钮的中文问题
- java 装饰者_java装饰者模式怎么用?
- clone repository in git shell under windows
- Security+ 学习笔记24 数据中心防护
- SDRAM学习笔记(二)
- java filter重定向_Java Filter(过滤器)——重定向
- 【优化算法】非支配排序遗传算法(NSGA)【含Matlab源码 176期】
- php 程序设计代码教程
- DSP2812开发板学习
- SVG 矩形rect 学习
- 刘彬20000词汇03
- TensorFlow绘制loss/accuracy曲线
- FZU2285 迷宫寻宝
- 想通过参加会议年入30万,没这些能力可不行——百格活动
- PHP+mysql数据库开发搜索功能:中英文分词+全文检索(MySQL全文检索+中文分词(SCWS))...