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. [转载] Redis-benchmark使用总结

    转载自http://blog.csdn.net/jiangguilong2000/article/details/24143721 Redis-benchmark为Redis性能测试工具. 指令说明: ...

  2. 基于.NET CORE微服务框架 -surging 基于messagepack、protobuffer、json.net 性能对比

    1.前言 surging内部使用的是高性能RPC远程服务调用,如果用json.net序列化肯定性能上达不到最优,所以后面扩展了protobuf,messagepack序列化组件,以支持RPC二进制传输 ...

  3. Java父线程(或是主线程)等待所有子线程退出

    static void testLock1(){ final AtomicInteger waitCount = new AtomicInteger(30000); final Object wait ...

  4. 状态压缩 - LeetCode #464 Can I Win

    动态规划是一种top-down求解模式,关键在于分解和求解子问题,然后根据子问题的解不断向上递推,得出最终解 因此dp涉及到保存每个计算过的子问题的解,这样当遇到同样的子问题时就不用继续向下求解而直接 ...

  5. Vue.js简单的应用

    1:一个简单实现 下面代码部分: <body> <div id="myDiv1"> {{userName}} </div> </body& ...

  6. Linux下安装Redis php-redis扩展 redis重启shell脚本 超详细!

    前言 前面刚写过nosql其中三款热门产品的对比,这次主要写关于Redis的一些事情,Redis的介绍.安装以及扩展(php-redis,因为我是phper)安装等等.同时是写给我的朋友(cccjjj ...

  7. django 图片上传 前段+后端

    1.前台<form method="post" action="./writerApply" enctype="multipart/form-d ...

  8. docker学习(一)

    docker的安装 (一)环境要求: 容器需要管理工具.runtime 和操作系统,选择如下: 1.管理工具 - Docker Engine 2.runtime - runc 3.操作系统 (二)安装 ...

  9. javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案

    在开发项目时,有时候需要用到上传功能,比如头像上传等,其文件会保存到服务器中.但是我发现在用eclipse做项目的过程中,每次重新部署项目,原来上传的文件就会丢失. 其原因是因为每次项目修改后,ecl ...

  10. HDU1284--完全背包

    钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...