`
newleague
  • 浏览: 1499361 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

struts2 action基类 ActionSupport

 
阅读更多

Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类,但是,我们为了方便实现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方法。

分享到:
评论

相关推荐

    Struts2继承ActionSupport例子

    首先,`ActionSupport`类是所有Struts2 Action类的基类,它包含了以下几个关键功能: 1. **字段验证**:`ActionSupport`提供了内置的验证机制,通过在Action类中定义`validate()`方法,可以对用户输入的数据进行...

    Web开发学习8Struts2基类封装

    - **ActionSupport**:这是Struts2提供的一个基础Action类,包含了默认的错误处理和国际化支持。我们可以基于它来构建自己的基类。 - **Interceptor**:拦截器是Struts2的重要特性,理解其工作原理和如何编写自定义...

    struts1和struts2的区别

    Struts2提供了ActionSupport基类来简化Action的实现。Action本身可以是任何实现了特定接口的Java对象,甚至是普通的POJO。这种设计使得Struts2更加灵活,易于维护。 #### 架构模式 - **Struts1**: 在Struts1架构中...

    Struts2教学视频

    Action类需要继承自Struts2提供的基类或实现特定接口,如`ActionSupport`。 **六、路径问题的说明** Struts2通过Action和Namespace来决定URL路径。Action的全名由Namespace和ActionName组成,例如`/admin/save`,...

    Struts2之Action详解2

    Action类需要继承自Struts2提供的ActionSupport类或自定义的Action基类,并实现execute()方法,这个方法是Struts2调用来处理请求的主要入口。 1. **Action的配置** 在Struts2中,Action可以通过XML配置文件或注解...

    struts2 Action编写方式

    `ActionSupport`是Struts2提供的一个基类,它实现了Action接口,并提供了很多有用的功能,如国际化支持、内置的校验框架等。因此,大多数开发者倾向于继承`ActionSupport`,以便利用其附加功能。下面是一个使用`...

    struts2面试题

    Struts2 提供一个 ActionSupport 基类去实现常用的接口。Action 接口不是必须的,任何有 execute 标识的 POJO 对象都可以用作 Struts2 的 Action 对象。 4. Struts2 的线程模式: Struts2 Action 对象为每一个请求...

    struts2 ,struts2 demo

    开发者可以自定义Action类,通常会继承`org.struts2.interceptor.ActionSupport`,这个基类提供了错误处理、国际化等基础功能。 **5. Interceptors(拦截器)** 拦截器是Struts2的一个强大特性,可以在Action执行...

    Struts2接口文档

    开发者可以通过查阅此文档,快速查找特定功能的实现方式,例如ActionSupport类,它是大多数Action的基类,提供了默认的错误处理和国际化支持。 除了基本组件,Struts2还有丰富的插件系统,如Tiles插件用于页面布局...

    Struts2的视频学习代码

    Action类可以继承自Struts2提供的基类或实现特定的接口,如`com.opensymphony.xwork2.ActionSupport`。 3. **Result**:Result是Action执行后的一个状态,用于定义如何展示响应。Struts2支持多种Result类型,如JSP...

    struts2 action 配置方法 &&struts2的配置文件

    在Struts2中,Action类需要实现`com.opensymphony.xwork2.Action`接口,或者更常见的是继承`com.opensymphony.xwork2.ActionSupport`,这个基类已经提供了execute()方法的默认实现,方便开发者使用。 Action的配置...

    Struts2框架及注释和用法

    Action类通常继承自`com.opensymphony.xwork2.ActionSupport`或自定义基类,并实现`execute()`方法。在`execute()`中编写业务逻辑,返回一个表示结果的字符串,与视图进行交互。 **3. 注释使用** Struts2允许在...

    struts1.0和struts2

    此外,Struts2的ActionSupport基类提供了对常用接口的实现,使得Action对象的创建更加灵活,不再局限于Action接口,任何具有execute方法的POJO对象都可以作为Struts2的Action对象。 线程模型方面,Struts1采用单例...

    Struts 2.0的Action讲解

    对于验证,`ActionSupport`实现了`Validateable`接口,允许我们在Action类中定义字段级的验证规则,当`execute()`方法被调用前,Struts 2会自动进行验证。 总的来说,Struts 2.0的Action模型通过`ActionSupport`类...

    struts2新特性预览

    此外,Struts2提供了ActionSupport基类,该基类实现了常用的接口,如国际化和错误处理。 2. **线程模式**: Struts1的Action是单例模式,需要处理所有请求,因此必须保证线程安全。而Struts2的Action为每个请求...

    Struts2简单的页面跳转示例

    在"Struts2简单的页面跳转示例"中,我们通常会有一个Action类,这个类需要继承自Struts2提供的ActionSupport类或者自定义一个基类。Action类中的方法对应用户请求的URL,当用户发起请求时,Struts2框架会根据配置...

    Struts1和Struts2的区别和对比

    Struts2还提供了一个ActionSupport基类,以方便实现常见的接口功能,如国际化和数据验证。 线程模型方面,Struts1的Action是单例模式,意味着所有请求共享同一个Action实例,因此开发者需要确保Action和其资源是...

    struts2核心文件

    1. **Action类和ActionSupport**: Action是Struts2的核心组件,负责处理用户请求并执行业务逻辑。ActionSupport是Action的基类,提供了默认的行为,如错误处理和国际化支持。 2. **Interceptor(拦截器)**: 拦截器...

    Struts2与Struts1区别

    ActionSupport 类则提供了常用功能的实现,但 Action 接口并非强制,任何包含 execute 方法的普通 Java 对象(POJO)都能作为 Struts2 的 Action。 2. **线程模型**: - Struts1 的 Action 实例是单例的,这意味着...

Global site tag (gtag.js) - Google Analytics