Action类的3种书写方式

本文主要写有关写Action类的3种书写方式:

(1)第一种 Action可以是POJO (简单模型对象)  不需要继承任何父类 也不需要实现任何接口

(2)实现Action接口

(3)继承ActionSupport(推荐)

那我们先来书写第一种:

(1)第一种 Action可以是POJO (简单模型对象)  不需要继承任何父类 也不需要实现任何接口

 //这里其实就是一个普通的类,类里面的方法可以任意写,如果写execute()方法那就代表默认执行它
public class RequestAction1 {
//提供满足条件的方法 excute方法
//public 范围的 带有String返回值的 无参的方法
public String execute(){
System.out.println("测试方式一");
return null;//null表示不进行跳转
}
}

     (2)实现Action接口

 import com.opensymphony.xwork2.Action;
public class RequestAction2 implements Action{ public String execute() throws Exception {
System.out.println("方式二 实现Action接口 成功执行....");
return SUCCESS;
}
}
/**
* Action接口中一共有5个五种逻辑视图 和一个方法分别如些:
* public abstract interface com.opensymphony.xwork2.Action {
数据处理成功(成功的跳转页面)
public static final java.lang.String SUCCESS = "success";
页面不进行跳转 return null
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;
}
*/

(3)继承ActionSupport(推荐)

 import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionSupport;
//为什么推荐ActionSupport,在Action中如果使用基础ActionSupport的方式 可以使用表单的校验 错误信息的设置 和国际化信息 三个重要的功能。
public class RequestAction3 extends ActionSupport {
@Override
public String execute() throws Exception {
System.out.println("方式三 继承ActionSupport完成 书写");
return super.execute();//返回SUCCESS
}
}
/**ActionSupport类的特点,点进去发现它实现了许多的接口
* public class ActionSupport implements Action, Validateable,
* ValidationAware, TextProvider, LocaleProvider, Serializable
* 这么多接口说明它不简单
*
*/

关于action类的创建我就说这么多!请大家多指点!

Struts2框架(3)---Action类的3种书写方式的更多相关文章

  1. Struts2框架(4)---Action类访问servlet

    Action类访问servlet Action类有三种方式servlet: (1)间接的方式访问Servlet API  ---使用ActionContext对象 (2)  实现接口,访问Action ...

  2. Struts2框架之Action类的访问

    1. 通过<action>标签中的method属性,访问到Action中的具体的方法. * 传统的配置方式,配置更清晰更好理解!但是扩展需要修改配置文件等! * 具体的实例如下: * 页面 ...

  3. Struts2中Action类的三种写法

      一.普通的POJO类(没有继承没有实现)-基本不使用 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创 ...

  4. 3.Struts2中Action类的三种写法

    一.普通的POJO类(没有继承没有实现)-基本不使用 public class DemoAction1 { public String execute(){ System.out.println(&q ...

  5. Struts2中的Action类(解耦方式,耦合方式)

    一.解耦方式 特点:对web资源进行了封装,便于单元测试. 实现:ActionContext和接口方式 1.ActionContext 特点:Action执行的上下文对象.保存了执行Action所需要 ...

  6. struts2中的Action实现的三种方式

    Action类创建方式有哪些? 方式一:直接创建一个类,可以是POJO,即原生Java类,没有继承任何类,也没有实现任何接口 这种方式使得strust2框架的代码侵入性更低,但是这种方式是理想状态,开 ...

  7. Struts 2 数据校验要用到的类和两种校验方式以及一些校验问题的解决

    通过继承ActionSupport类来完成Action开发,ActionSupport类不仅对Action接口进行简单实现, 同时增加了验证.本地化等支持 .真实开发中自定义Action都需要继承该类 ...

  8. Java中匿名类的两种实现方式(转)

    使用匿名内部类课使代码更加简洁.紧凑,模块化程度更高.内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到.然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式 ...

  9. Struts2框架里面action与前端jsp页面进行交互路径问题---》一个对话框里面有很多超链接,进行相应的跳转

    一个对话框里面有很多超链接,右边是点击超链接跳转到的相应页面(在一个页面上就相当于点击该超链接时候,就把该简短页面置顶):这个问题困扰我两天:还请大神给我解决,也没有解决,我仔细对比了相关路径,后面添 ...

随机推荐

  1. mysql使用use db出现夯住问题

    表的数目在15585个,在使用use db的时候出现夯住 从show processlist中看到一堆表在做排序,想看看这些表的表结构.使用use db之后夯住,没有办法查看. 当时没有想到怎么办,鉴 ...

  2. Java中abstract关键字详解

    abstract只能修饰类(class) 和 方法.而不能修饰成员变量.这是由于抽象的概念确定的.只有类和方法可以抽象出来,而成员变量不需要抽象. abstract修饰类 abstract之所以出现, ...

  3. AI 新技术革命将如何重塑就业和全球化格局?深度解读 UN 报告(上篇)

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 张钦坤 腾讯研究院秘书长蔡雄山 腾讯研究院法律研究中心副主任祝林华 腾讯研究院法律研究中心助理研究员曹建峰 腾讯研究院法律研究中心高级研究员 ...

  4. 非关系型数据库redis-java基本操作

    概述 redis是一个key-value的nosql数据库(非关系型数据库).支持存储的value类型包括string(字符串).list(链表).set(集合).zset(sorted set -- ...

  5. JavaScript学习笔记(十五)——对象之Date,RegExp

    在学习廖雪峰前辈的JavaScript教程中,遇到了一些需要注意的点,因此作为学习笔记列出来,提醒自己注意! 如果大家有需要,欢迎访问前辈的博客https://www.liaoxuefeng.com/ ...

  6. K-means 算法

    本学习笔记参考自吴恩达老师机器学习公开课 聚类算法是一种无监督学习算法.k均值算法是其中应用最为广泛的一种,算法接受一个未标记的数据集,然后将数据聚类成不同的组.K均值是一个迭代算法,假设我们想要将数 ...

  7. ios2048小游戏

    最近突然想写一个2048的小游戏,由于全部是自定义控件,所以程序看起来冗杂,但是核心的算法部分还是很不错的,大家感兴趣的可以仔细看看. 声明部分: #import <UIKit/UIKit.h& ...

  8. listview优化加强版

    import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory; ...

  9. DIV居中的经典方法

    1. 实现DIV水平居中 设置DIV的宽高,使用margin设置边距0 auto,CSS自动算出左右边距,使得DIV居中. 1 div{ 2 width: 100px; 3 height: 100px ...

  10. Mariadb Galera Cluster 群集 安装部署

    #Mariadb Galera Cluster 群集 安装部署 openstack pike 部署  目录汇总 http://www.cnblogs.com/elvi/p/7613861.html # ...