3.Struts2中Action类的三种写法

Posted NEWHOM

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.Struts2中Action类的三种写法相关的知识,希望对你有一定的参考价值。

一.普通的POJO类(没有继承没有实现)-基本不使用

public class DemoAction1 {
    
    public String execute(){
        
        System.out.println("DemoAction1是普通的POJO类...");
        
        return null;
    }
}
        <!-- 普通的POJO类 -->
        <action name="action1" class="com.struts2.web.action2.DemoAction1"/>

  基本不使用

 

二.实现Action接口-基本不使用

import com.opensymphony.xwork2.Action;

/**
 * action类的编写2:实现action接口
 * @author NEWHOM
 *
 */
public class DemoAction2 implements Action {

    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        
        System.out.println("DemoAction2是一个实现了Action接口的类...");
        
        return null;
    }

}
        <!-- 实现了Action接口 -->
        <action name="action2" class="com.struts2.web.action2.DemoAction2" />

* Action接口中定义了5个常量,5个常量的值对应的是5个逻辑视图跳转页面(跳转的页面还是需要自己来配置),还定义了一个方法,execute方法。
* 5个逻辑视图的常量
            * SUCCESS       -- 成功.
            * INPUT         -- 用于数据表单校验.如果校验失败,跳转INPUT视图.
            * LOGIN         -- 登录.
            * ERROR         -- 错误.
            * NONE          -- 页面不转向.

  基本不使用

 

三.继承ActionSupport类-经常使用

import com.opensymphony.xwork2.ActionSupport;

/**
 * action编写3:继承ActionSupport类
 * @author NEWHOM
 *
 */
public class DemoAction3 extends ActionSupport {

    private static final long serialVersionUID = 1L;
    
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        
        System.out.println("DemoAction3是一个继承了ActionSupport的类...");
        
        return null;
    }
    
}
        <!-- 继承了ActionSupport类 -->
        <action name="action3" class="com.struts2.web.action2.DemoAction3"/>

  ActionSupport本身继承了许多的类,利于编写代码

  开发中经常使用这种方式

以上是关于3.Struts2中Action类的三种写法的主要内容,如果未能解决你的问题,请参考以下文章

Reactjs事件处理的三种写法

4.Struts2中Action的三种访问方式

Python 判断变量是否是 None 的三种写法

Excel vba引用工作表的三种写法

structs实现三种action的方法

Go语言中for的三种写法