Struts2系列笔记(3)---Action类的3种书写方式

Action类的3种书写方式

本文主要写有关写Action类的3种书写方式:

(1)第一种 Action可以是POJO (简单模型对象)  不需要继承任何父类 也不需要实现任何接口

(2)实现Action接口

(3)继承ActionSupport(推荐)

那我们先来书写第一种:

(1)第一种 Action可以是POJO (简单模型对象)  不需要继承任何父类 也不需要实现任何接口

1 //这里其实就是一个普通的类,类里面的方法可以任意写,如果写execute()方法那就代表默认执行它
2 public class RequestAction1 {
3     //提供满足条件的方法   excute方法
4     //public 范围的    带有String返回值的 无参的方法
5     public String execute(){
6         System.out.println("测试方式一");
7         return null;//null表示不进行跳转
8     }
9 }

     (2)实现Action接口

 1 import com.opensymphony.xwork2.Action;
 2 public class RequestAction2  implements Action{
 3
 4     public String execute() throws Exception {
 5         System.out.println("方式二 实现Action接口 成功执行....");
 6         return SUCCESS;
 7     }
 8 }
 9 /**
10  * Action接口中一共有5个五种逻辑视图 和一个方法分别如些:
11  * public abstract interface com.opensymphony.xwork2.Action {
12                                                                数据处理成功(成功的跳转页面)
13       public static final java.lang.String SUCCESS = "success";
14                                                               页面不进行跳转 return null
15       public static final java.lang.String NONE = "none";
16                                                                数据处理发送错误(错误页面)
17       public static final java.lang.String ERROR = "error";
18                                                         用户处理数据 数据有误 用于表单的校验
19       public static final java.lang.String INPUT = "input";
20                                                                       主要是权限认证
21       public static final java.lang.String LOGIN = "login";
22
23   public abstract java.lang.String execute() throws java.lang.Exception;
24  }
25  */

(3)继承ActionSupport(推荐)

 1 import com.opensymphony.xwork2.Action;
 2 import com.opensymphony.xwork2.ActionSupport;
 3 //为什么推荐ActionSupport,在Action中如果使用基础ActionSupport的方式 可以使用表单的校验 错误信息的设置 和国际化信息 三个重要的功能。
 4 public class RequestAction3 extends ActionSupport {
 5     @Override
 6     public String execute() throws Exception {
 7         System.out.println("方式三 继承ActionSupport完成 书写");
 8         return super.execute();//返回SUCCESS
 9     }
10 }
11 /**ActionSupport类的特点,点进去发现它实现了许多的接口
12  * public class ActionSupport implements Action, Validateable,
13  * ValidationAware, TextProvider, LocaleProvider, Serializable
14  * 这么多接口说明它不简单
15  *
16  */

关于action类的创建我就说这么多!请大家多指点!

时间: 2024-10-03 14:24:18

Struts2系列笔记(3)---Action类的3种书写方式的相关文章

struts2学习笔记之八:Action中方法的动态调用

方法一:action名称+!+方法名称+后缀 Action类中增加addUser()和delUser()方法, package com.djoker.struts2; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.Action; public class UserAction { private String username; private String password; pri

Struts2学习笔记(三)——Action详解

Action是用于处理请求操作的,它是由StrutsPrepareAndExceuteFilter分发过来的. 1.Action的创建方式 1) POJO类(PlainOldJavaObjects简单的Java对象),不需要继承任何父类,实现任何接口 1 public class TestAction { 2 public String execute() { 3 return "success"; 4 } 5 } 这种方式是Struts2框架通过反射来实现的,步骤: struts2框

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&

Struts2学习笔记(六)——Action处理请求参数

在struts2框架中关于Action处理请求参数有两种方案(三个方式),表单属性的名称应该和在Action类中定义的成员属性或者在JavaBean中定义的成员属性名称一样: 1.属性驱动 1)直接在Action类中定义成员属性来接收请求参数 (将Action当成javaBean),在Action中还需要定义成员属性的setter方法. 表单信息: 1 <form action="${pageContext.servletContext.contextPath}/testAction.ac

Struts2中表单与Action传递数据三种方式

1.       Action中的属性与表单中的属性一致就可以 JSP中的表单 <form action="login.action" method="post"> 用户名:<input type="text" name="username"/>    <br/> 密码:  <input type="password" name="password&quo

Storm 系列(六)—— Storm 项目三种打包方式对比分析

一.简介 在将 Storm Topology 提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任何插件,直接使用 mvn package 打包: 第二种:使用 maven-assembly-plugin 插件进行打包: 第三种:使用 maven-shade-plugin 进行打包. 以下分别进行详细的说明. 二.mvn package 2.1 mvn package的局限 不在 POM 中配置

子类继承基类的三种继承方式

在C++中,子类继承父类有三种继承方式,分别是:public, protected和private.子类继承的方式不同,那么子类对象访问父类中的参数访问权限也不同. public 方式继承:基类的private成员派生类不可见,基类中的protected和public成员在派生类中可以直接使用,并且变成了派生类中相应                        的protected成员和public成员,但是只有public成员可以在派生类外使用. protected 方式继承:基类的priv

Struts2学习笔记(五)——Action访问Servlet API

在Strut2中访问Servlet API有三种方式: 1.通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API. 步骤: 1).创建一个ActionContext ActionContext context=ActionContext.getContext(); 2).通过context对象获取Servlet API Map<String,Object> getApplication() 获取的是application

java笔记--关于线程同步(5种同步方式)

转自:http://www.2cto.com/kf/201408/324061.html 为何要使用同步? java允许多线程并发控制,当多个线程同时操作一个可共享的资源变量时(如数据的增删改查), 将会导致数据不准确,相互之间产生冲突,因此加入同步锁以避免在该线程没有完成操作之前,被其他线程的调用, 从而保证了该变量的唯一性和准确性. 1.同步方法 即有synchronized关键字修饰的方法. 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法.在调用该方法