Struts2框架(3)---Action类的3种书写方式
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种书写方式的更多相关文章
- Struts2框架(4)---Action类访问servlet
Action类访问servlet Action类有三种方式servlet: (1)间接的方式访问Servlet API ---使用ActionContext对象 (2) 实现接口,访问Action ...
- Struts2框架之Action类的访问
1. 通过<action>标签中的method属性,访问到Action中的具体的方法. * 传统的配置方式,配置更清晰更好理解!但是扩展需要修改配置文件等! * 具体的实例如下: * 页面 ...
- Struts2中Action类的三种写法
一.普通的POJO类(没有继承没有实现)-基本不使用 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创 ...
- 3.Struts2中Action类的三种写法
一.普通的POJO类(没有继承没有实现)-基本不使用 public class DemoAction1 { public String execute(){ System.out.println(&q ...
- Struts2中的Action类(解耦方式,耦合方式)
一.解耦方式 特点:对web资源进行了封装,便于单元测试. 实现:ActionContext和接口方式 1.ActionContext 特点:Action执行的上下文对象.保存了执行Action所需要 ...
- struts2中的Action实现的三种方式
Action类创建方式有哪些? 方式一:直接创建一个类,可以是POJO,即原生Java类,没有继承任何类,也没有实现任何接口 这种方式使得strust2框架的代码侵入性更低,但是这种方式是理想状态,开 ...
- Struts 2 数据校验要用到的类和两种校验方式以及一些校验问题的解决
通过继承ActionSupport类来完成Action开发,ActionSupport类不仅对Action接口进行简单实现, 同时增加了验证.本地化等支持 .真实开发中自定义Action都需要继承该类 ...
- Java中匿名类的两种实现方式(转)
使用匿名内部类课使代码更加简洁.紧凑,模块化程度更高.内部类能够访问外部内的一切成员变量和方法,包括私有的,而实现接口或继承类做不到.然而这个不是我说的重点,我说的很简单,就是匿名内部类的两种实现方式 ...
- Struts2框架里面action与前端jsp页面进行交互路径问题---》一个对话框里面有很多超链接,进行相应的跳转
一个对话框里面有很多超链接,右边是点击超链接跳转到的相应页面(在一个页面上就相当于点击该超链接时候,就把该简短页面置顶):这个问题困扰我两天:还请大神给我解决,也没有解决,我仔细对比了相关路径,后面添 ...
随机推荐
- Python之Queue模块
Queue 1.创建一个“队列”对象 >>> import Queue >>> queue = Queue.Queue(maxsize=100) >>& ...
- eclipse中hibernate和mybatis中xml配置文件的没有标签提醒解决方法
当我们使用eclipse编写Mybatis或hibernate的xml文件时,面对众多标签的配置文件,却没有自动提醒,对于工作和学习都十分不方便. 之所以没有自动提醒,是因为dtd文件没有加载成功. ...
- bootstrap --> reset css
/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */ html, ...
- Liunx文件解压与压缩
文件压缩和解压缩 常见压缩格式如下 .zip .gz .bz2 .tar.gz .tar.gz2 .zip压缩 zip 压缩文件名 源文件 压缩文件 zip -r(递归) 压缩文件名 源目录 压缩目录 ...
- webapp填坑记录[更新中]
网上也有许多的 webapp 填坑记录了,这几个月,我在公司正好也做了2个,碰到了一些问题,所以我在这里记录一下我所碰到的问题: meta 头部声明在开发的时候,刚刚创建 HTML 文件,再使用浏览器 ...
- VueJS使用笔记
html: <script src='vue.js'></script> <div id='app'> <span>{{msg}}</span&g ...
- 使用ztree展示树形菜单结构
官网:http://www.treejs.cn/v3/main.php#_zTreeInfo 一.功能简介 在权限系统中,实现给角色指定菜单权限的功能.主要包括以下几点: 读取全部菜单项,并以树形结构 ...
- 《java.util.concurrent 包源码阅读》11 线程池系列之ThreadPoolExecutor 第一部分
先来看ThreadPoolExecutor的execute方法,这个方法能体现出一个Task被加入到线程池之后都发生了什么: public void execute(Runnable command) ...
- fetch知识点汇总
使用XHR发送一个json请求一般是这样: const xhr = new XMLHttpRequest() xhr.open('Get', url) xhr.responseType = 'json ...
- CPU 虚拟化
前面 虚拟化技术总览 中从虚拟平台 VMM 的角度,将虚拟化分为 Hypervisor 模型和宿主模型,如果根据虚拟的对象(资源类型)来划分,虚拟化又可以分为计算虚拟化.存储虚拟化和网络虚拟化,再细一 ...