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. Linux的chattr与lsattr命令详解

    Linux的chattr与lsattr命令详解 这两个命令是用来查看和改变文件.目录属性的,与chmod这个命令相比,chmod只是改变文件的读写.执行权限,更底层的属性控制是由chattr来改变的. ...

  2. StackExchange.Redis学习笔记(三) 数据库及密码配置 GetServer函数

    这一章主要写一些StackExchange.Redis的配置及不太经常用到的函数 数据库连接 下面是我的连接字符串,里面指定了地址,密码,及默认的数据库 Redis启动后默认会分成0-15个数据库,不 ...

  3. C#表达式目录树(Expression)

    1.什么是表达式目录树 :简单的说是一种语法树,或者说是一种数据结构(Expression) 2.用Lambda声明表达式目录树: Expression<Func<; //表达试目录树的方 ...

  4. TQ2440在Ubuntu16.04上如何搭建DNW烧写环境

    八月份国赛比完,原计划开始的嵌入式Linux学习一直拖到了现在:由于之前所有的开发全在Windows下进行的,对各种底层完全不清楚,刚好这段时间开始学习Linux,我就在想能不能把开发环境给迁移到Li ...

  5. lua API 小记2

    1. 创建lua虚拟机 lua_State *lua_newstate (lua_Alloc f, void *ud) 创建一个新的独立的lua虚拟机. 参数指定了内存分配策略及其参数, 注意, 让用 ...

  6. c语言的数组

    1. 数组的基本概念 一个int类型的变量能保存一个人的年龄,如果想保存整个班的年龄呢? 1. 什么是数组 数组,从字面上看,就是一组数据的意思,没错,数组就是用来存储一组数据的 2. 数组的特点 ● ...

  7. 报Cannot change version of project facet Dynamic web module to 2.5 错误

    maven项目老是报这个错误,上网找了很多方法,把Dynamic Web Module的Version改成了2.5,结果还是报错. 后来找到一个方法说在web.xml中,将version改为3.0,就 ...

  8. RaspberryPi2B使用bcm2835c库控制GPIO

    RaspberryPi2B使用bcm2835c库控制GPIO 网上有很多RaspberryPi控制GPIO的方法,有Python.WiringPi.bcm2835 C library 使用bcm283 ...

  9. Centos 7 ip查看问题

    centos7已经没有ifconfig功能,现在使用的是命令ip addr查看,如果还是习惯ifconfig使用"yum -y install net-tools"命令进行安装 安 ...

  10. php面试之四-Linux部分

    php面试题之四——Linux部分(高级部分) 四.Linux部分 1.请解释下列10个shell命令的用途(新浪网技术部) top.ps.mv.find.df.cat.chmod.chgrp.gre ...