实现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类的更多相关文章

  1. fielderror里的fieldName代表的是jsp里的fieldName还是Action类的成员变量?(待解答)

    1.值栈的Action对象中会有一个fielderror属性,代表着字段错误. fielderror是Map<String,List<String>>类型 例如下面的值栈里可看 ...

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

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

  3. Action类中获取request等对象的方法

    struts2中的action类中,SevletActionContext可以获取

  4. Action类为何要继承ActionSupport

    Action类为何要继承ActionSupport   理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承com.open ...

  5. Action类为何要 extends ActionSupport

    我做的时候,我的action是继承ActionSupport的 Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类,但是,我们为了方便实现Actio ...

  6. 关于JFace中的右键菜单Action类,ActgionGroup类,MenuManager类

    Action类,ActionGroup类,MenuManager类介绍 SWT中菜单是Menu类,在前面章节中已经介绍过Menu类的使用. 菜单项用MeauItem类来实现.但是在实际开发中,同一种功 ...

  7. 在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法

    在jsp中选中checkbox后 将该记录的多个数据获取,然后传到Action类中进行后台处理 双主键情况下 *.hbm.xml中的写法   ==========方法1: --------1. 选相应 ...

  8. Action类一般情况为何要继承ActionSupport

    struts2中的action可以继承ActionSupport,也可以不继承ActionSupport.不继承ActionSupport的情况只需要有一个方法,返回String,即可,记住,在继承A ...

  9. stuts1:(Struts)Action类及其相关类

    org.apache.struts.action.Action类是Struts的心脏,也是客户请求和业务操作间的桥梁.每个Action类通常设计为代替客户完成某种操作.一旦正确的Action实例确定, ...

随机推荐

  1. (转)Aspone.Cells设置Cell数据格式 Setting Display Formats of Numbers and Dates

    Setting Display Formats Using Microsoft Excel: Right-click on any desired cell and select Format Cel ...

  2. 在Asp.Net的Global.asax中Application_Error跳转到自定义错误页无效的解决办法

    在开发Asp.Net系统的时候,我们很多时候希望系统发生错误后能够跳转到一个自定义的错误页面,于是我们经常会在Global.asax中的Application_Error方法中使用Response.R ...

  3. android 项目学习随笔十三(ListView实现ITEM点击事件,将已读状态持久化到本地)

    1.因为给LISTVIEW增加了两个头布局,所以在点击事件ITEM索引会增加2,比如原来第一条数据的索引应该为0,增加两个头布局后,它的索引变为        2,为了使LISTVIEW的ITEM在点 ...

  4. linux 安装

    分区:/boot swap /这三个顺序分区 mkdir -p|-m cat >> 123.txt<<EOF 123 345 EOF 0.1和2分别表示标准输入.标准输出和标准 ...

  5. 分页实体类:PageBean

    package com.eaju.soms.entity.custom; import java.util.List; @SuppressWarnings("rawtypes")p ...

  6. js捕捉IE窗口失去焦点事件,判断离开页面刷新或关闭的方法

    js捕捉IE窗口失去焦点事件,判断离开页面刷新或关闭的方法 javascript如何捕捉IE窗口失去焦点事件window.onblur = function(e) { //you code}; 弹框的 ...

  7. Delphi内嵌汇编语言BASM精要(转帖)

    1 BASM概念简要  汇编语句由指令和零至三个表达式构成.表达式由常数(立即数).寄存器和标识符构成.例如: movsb        // 单指令语句 jmp @Here    // 一个表达式: ...

  8. Java中如何在另一个类里面使用运行类中的对象,举例说明了一下。

    package 计时器; import java.util.Timer; import java.util.TimerTask; /* * 主要是想在另一个类里面,使用该类的对象,如何使用呢?如何传递 ...

  9. TreeView htc 改写

    call the function loadTree(treeviewId) when body is loaded <body onload="loadTree('tvSelect' ...

  10. count(*)、count(val)和count(1)的解释

    一.关于count的一些谣言: 1.count(*)比count(val)更慢!项目组必须用count(val),不准用count(*),谁用扣谁钱! 2.count(*)用不到索引,count(va ...