`

struts2实现Action类的几种方式

 
阅读更多

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实战(Struts2 In Action中文版)

    1. **Struts2基础**:介绍Struts2的基本概念,包括配置文件、Action类、结果类型和视图解析。 2. **OGNL表达式语言**:Struts2使用OGNL(Object-Graph Navigation Language)进行数据绑定和表达式操作,学习如何...

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    "Struts2 注解配置 Action 及拦截器几种不同方式写法对应的路径指向" Struts2 注解配置 Action 及拦截器是 Struts2 框架中的核心组件之一,负责处理用户请求并返回响应结果。下面,我们将通过详细的解释和示例代码...

    Struts2 的接受参数的几种方式

    ### Struts2 接受参数的几种方式 #### 第一种方式:直接在 Action 中设置变量 这种方式是最直接的参数接收方式。当从前端传递参数到后端时,我们需要确保 Action 类中有与这些参数名称相匹配的变量。例如,如果...

    struts2的action的几种result type说明

    在实际开发中,你还可以自定义Result Type以满足特定的需求,只需要扩展Struts2的Result接口并配置相应的类即可。同时,也可以通过Action的配置或者struts.xml配置文件来为每个Action指定特定的Result Type,以实现...

    Struts2_Action

    此外,Struts2还提供了动态方法调用的机制,允许你在一个Action类中定义多种处理方式,而无需为每一种处理方式单独定义Action方法。通过在action标签中指定method属性可以实现动态方法调用。 以上内容介绍了Struts2...

    Struts2的Action中获得request response session几种方法

    Struts2的拦截器机制也是获取request、response、session的一种方式。默认情况下,Struts2已经配置了一些拦截器,例如`servletConfig`拦截器,它可以提供对servlet API的访问,包括request、response、session等。 ...

    Struts2教学视频

    它在MVC(Model-View-Controller)设计模式的基础上提供了一种实现方式,使得开发者能够更方便地处理用户请求,控制业务逻辑,以及展示数据。 **一、Struts2的作用** Struts2的主要作用是协调前端视图、后端业务...

    Struts2的三种传值方式比较(附demo)

    在本篇文章中,我们将详细探讨Struts2的三种主要的传值方式,并通过一个简单的Demo来加深理解。 1. **Action属性传值** Struts2的核心是Action类,每个Action类都代表一个特定的业务逻辑。我们可以通过在Action类...

    Struts2主要Lib

    Action类通常继承自`org.apache.struts2.dispatcher.ng.ExecuteOperations`或实现了`com.opensymphony.xwork2.Action`接口。 3. **配置文件**:Struts2的配置文件通常是`struts.xml`,定义了Action与结果的映射,...

    Struts2实现上传功能源码

    在本案例中,我们关注的是如何使用Struts2实现文件上传的功能,这在许多Web应用中都是一个常见的需求,比如用户上传头像、提交文档等。 首先,理解上传功能的基本原理。在HTTP协议中,文件上传通常通过表单的POST...

    struts2jar包

    4. **struts2-convention-plugin.jar**:这是Struts2的约定优于配置插件,它简化了Action类和结果配置,使得开发者可以按照一定的命名规则来自动映射URL。 5. **struts2-plugins*.jar**:Struts2有许多插件,如...

    Struts2 Struts2 超好的Struts2 pdf 文档

    5. **模型驱动(ModelDriven)**:这是一种简化Action类设计的方式,允许Action类仅关注业务逻辑,而将模型对象的管理交给框架。 6. **值栈(Value Stack)**:值栈是Struts2中的一个核心组件,它存储了请求中的...

    Struts2Demo2

    4. **拦截器(Interceptors)**:Struts2提供了一种机制,允许在Action执行前后执行一些通用任务,比如登录检查、日志记录等。在struts.xml配置文件中,可以指定Action应该使用的拦截器链。 5. **Action的注解**:...

    struts2 +mysql 分页显示 源码

    总的来说,Struts2结合MySQL实现分页显示,涉及到的主要知识点包括:Struts2框架的工作原理、Action的设计与实现、数据库查询(特别是分页查询)、前端页面的渲染以及用户交互设计。通过对这些技术的熟练掌握,...

    struts2中Action数据绑定几种方法.rar

    以下是关于Struts2中Action数据绑定的几种方法的详细说明: 1. **属性注解(Field Annotation)** Struts2支持使用JavaBeans的getter和setter方法进行数据绑定,但也可以通过在字段上添加注解来简化这一过程。例如...

    基于Struts2的留言板系统.zip

    8. ** strut2-convention-plugin**: Struts2提供了一种约定优于配置的方式,通过struts2-convention-plugin插件,可以自动映射Action和结果,简化了传统XML配置。 9. **国际化与本地化**: 一个成熟的留言板系统可能...

    java struts2接收参数的几种方法

    本文将深入探讨Struts2接收参数的几种主要方法,包括通过Action的属性、使用Domain Model(领域模型)以及采用DTO(数据传输对象)进行参数接收。 ### 一、使用Action的属性接收参数 #### 原理 在Struts2框架中,...

    Struts2详细分类流程API文档

    - **Action接口**:这是Struts2中所有Action类必须实现的接口,提供了execute()方法,它是处理请求的主要方法。 - **ActionSupport类**:为Action提供基础支持,如国际化、错误和异常处理等。大部分Action类会继承...

    Struts2 ——2、各种Action写法和配置

    以下是几种常见的Action写法和配置: 1. **常规Action类**: - 创建一个实现了`com.opensymphony.xwork2.Action`接口的Java类。例如,`MyAction.java`: ```java public class MyAction implements Action { ...

Global site tag (gtag.js) - Google Analytics