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的开发。

最新文章

  1. (八)map,filter,flatMap算子-Java&Python版Spark
  2. Vue.js2.0从入门到放弃---入门实例
  3. ASP.NET MVC3 模板页的使用
  4. mysql导入sql文件,乱码,一个例子
  5. 数据源和JNDI的关系:
  6. SQL Server 性能优化之——T-SQL NOT IN 和 NOT Exists
  7. C++ - 扩展欧几里德算法非递归实现
  8. js数组与字符串的相互转换方法
  9. rpmdb: BDB0113 错误
  10. centos5.6部署gcc4.7编译的程序导致问题
  11. activity中实现Spinner绑定
  12. 李维作答 《insideVCL》——李维实在很勤奋,而且勇于突破,从不以旧的内容充数
  13. 【PostgreSQL】PostgreSQL语法
  14. JavaScript的DOM编程--03--读写属性节点
  15. unity 根据平板 或者 手机 确立横竖屏
  16. Linux 目录结构详解
  17. 【读书笔记】iOS-使用钥匙串保护数据
  18. python全局变量
  19. 剑指Offer 12. 数值的整数次方 (其他)
  20. canvas 旋转

热门文章

  1. a+=b 是什么意思?
  2. 发送SMS短信(JSON) 转载
  3. Android九宫图(draw9patch)
  4. Spring Boot自定义错误页面,Whitelabel Error Page处理方式
  5. 用file上传文件时,浏览器返回值总是自动添加<pre>的解决办法
  6. ubuntu14.04配置impala的odbc连接
  7. osmdroid启程
  8. 58. N-Queens && N-Queens II
  9. Python复习笔记-字典和文件操作
  10. [Android]通过js方法回调部分native报错 Web Console: Uncaught TypeError: Object [object Object] has no method 'xxx'