实现Action类
实现Action类
1.Action类的作用:
(1)封装HTTP的请求参数;
(2)处理用户请求;
(3)封装处理结果。
2.Action类是什么,在Action类中应该包含什么:
Action类就是一个POJO。
Action类中包含的内容:
(1)实例变量;
(2)有关的setter、getter方法(必须要有这些方法,系统通过这些方法处理请求参数);
(3)处理请求参数的逻辑方法(没有参数的方法),至少要有个execute()方法;
(4)可以有用来封装处理结果的实例变量。
3.如何实现Action类:
(1)直接写一个Action类,不继承任何父类也不实现任何的接口:
package testAction; public class Test_2Action { //封装Http请求的实例变量 private String username; private String password; //settrt、getter方法 public void setUsername(String username){ this.username = username; } public String getUsername(){ return this.username; } public void setPassword(String password){ this.password = password; } public String getPassword(){ return this.password; } //处理请求的方法 public String execute()throws Exception{ if(getUsername().equals(getPassword())){ return "success"; }else{ return "error"; } } }
(2)实现Struts2提供的Action接口:
接口是规范!
package testAction; import com.opensymphony.xwork2.Action; public class Test_3Action implements Action{ //封装Http请求的实例变量 private String username; private String password; //settrt、getter方法 public void setUsername(String username){ this.username = username; } public String getUsername(){ return this.username; } public void setPassword(String password){ this.password = password; } public String getPassword(){ return this.password; } @Override public String execute() throws Exception { // TODO Auto-generated method stub return SUCCESS; } }
(3)继承Struts2提供的ActionSupport基类:
Struts2提供的ActionSupport基类也实现了Action接口,在ActionSupport类中有许多用于处理请求参数的方法,ActionSupport类完全符合一个Action类的规范,因此我们可以直接使用其作为业务控制器。
当我们配置Action时,没有为其添加class属性,这时系统会默认ActionSupport类为处理请求的Action类。
实现Action类的更多相关文章
- fielderror里的fieldName代表的是jsp里的fieldName还是Action类的成员变量?(待解答)
1.值栈的Action对象中会有一个fielderror属性,代表着字段错误. fielderror是Map<String,List<String>>类型 例如下面的值栈里可看 ...
- Struts2中的Action类(解耦方式,耦合方式)
一.解耦方式 特点:对web资源进行了封装,便于单元测试. 实现:ActionContext和接口方式 1.ActionContext 特点:Action执行的上下文对象.保存了执行Action所需要 ...
- Action类中获取request等对象的方法
struts2中的action类中,SevletActionContext可以获取
- Action类为何要继承ActionSupport
Action类为何要继承ActionSupport 理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承com.open ...
- Action类为何要 extends ActionSupport
我做的时候,我的action是继承ActionSupport的 Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类,但是,我们为了方便实现Actio ...
- 关于JFace中的右键菜单Action类,ActgionGroup类,MenuManager类
Action类,ActionGroup类,MenuManager类介绍 SWT中菜单是Menu类,在前面章节中已经介绍过Menu类的使用. 菜单项用MeauItem类来实现.但是在实际开发中,同一种功 ...
- 在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法
在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法 ==========方法1: --------1. 选相应 ...
- Action类一般情况为何要继承ActionSupport
struts2中的action可以继承ActionSupport,也可以不继承ActionSupport.不继承ActionSupport的情况只需要有一个方法,返回String,即可,记住,在继承A ...
- stuts1:(Struts)Action类及其相关类
org.apache.struts.action.Action类是Struts的心脏,也是客户请求和业务操作间的桥梁.每个Action类通常设计为代替客户完成某种操作.一旦正确的Action实例确定, ...
随机推荐
- Cookie—的使用
编写 Cookie 浏览器负责管理用户系统上的 Cookie.Cookie 通过 HttpResponse 对象发送到浏览器,该对象公开称为 Cookies 的集合. 可以将 HttpResponse ...
- java 超经漂亮验证码
package com.zly.xsp.image; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; im ...
- SQL数据库之变量
--学习SQL数据库,变量是必须要掌握的概念,系统变量就是变量中最重要的变量之一,下面是SQL中系统变量的应用实例 use AdventureWorksDW exec sp_addtype 'char ...
- Hibernate中Session的get和load
hibernate中Session接口提供的get()和load()方法都是用来获取一个实体对象,在使用方式和查询性能上有一些区别.测试版本:hibernate 4.2.0. get Session接 ...
- PHPCMS V9 环境搭建
PHPCMS V9的学习总结分为以下几点: [1]PHPCMS 简介 PHP原始为Personal Home Page的缩写,(外文名:PHP: Hypertext Preprocessor,中文名: ...
- ServiceStack.Redis 之 IRedisTypedClient 04_转
IRedisTypedClient IRedisTypedClient类相当于IRedicClient的强类型版,其方法与属性大多数与IRedisClient类似. 它支持在Redis中使用Linq查 ...
- 【JQGRID DOCUMENTATION】.学习笔记.4.Navigator
Navigator是一个将查找或编辑记录的动作,变得非常容易达到用户交互特性.开发者可以创建自定义动作,也可以使用六个预定义的动作.jqGrid为预定义的动作提供icon button图形. 一组完整 ...
- bootstrap/moban191/js/templatemo_custom.js
(function($) { "use strict"; // Cache selectors var lastId, topMenu = $(".menu-holder ...
- Android实现推送方式解决方案(转)
本文介绍在Android中实现推送方式的基础知识及相关解决方案.推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息. ...
- C语言中%*s,%*c 是什么意思(还有%*.*s)
在 scanf 和 printf 里效果是不一样的. 在printf,动态控制显示格式用的 printf("%*s",5,"123");执行一下,这条语句,输出 ...