Struts2 Action的3种创建方式
创建 方式 struts2 Action
2023-09-11 14:14:35 时间
Action是Strut2的核心内容,相当于Servlet,用于处理业务。
Action是一个Java类,直接新建Java类即可。
Action有3种实现方式。
1、使用POJO,设置成员变量,写对应的setter、getter方法,再写一个返回值是String的方法来处理业务逻辑,并把<action>的method属性值设置为此方法。
POJO:普通的、传统的Java对象(类),不实现任何接口,不继承任何类。
此种方式创建的Action不与其他类、接口耦合,是低侵入式的。
但此种方式并不常用,因为要从头开始写,自己敲public String xxx(){ },还要在struts.xml中指定要调用的方法,太麻烦了。
2、实现Action接口
import com.opensymphony.xwork2.Action; public class XxxAction implements Action { @Override public String execute() throws Exception { return null; } }
默认会调用execute()方法来处理请求,不必在structs.xml中配置所调用的方法。
Action接口内置了一些常用的字符串常量,我们可以直接使用:
String SUCCESS = "success"; String NONE = "none"; String ERROR = "error"; String INPUT = "input"; String LOGIN = "login";
注意是 com.opensymphony.xwork2.Action,导包时不要导错了。
3、继承ActionSupport类
public class XxxAction extends ActionSupport { @Override public String execute() throws Exception { return null; } }
ActionSupport类实现了Action接口,具有Action接口的所有功能,且实现了Serializable等其它接口,功能更加强大。
一般使用第三种方式。
在structs-default.xml提供的默认的包配置中:
<default-class-ref class="com.opensymphony.xwork2.ActionSupport" /> <global-allowed-methods>execute,input,back,cancel,browse,save,delete,list,index</global-allowed-methods>
默认会预先实例化ActionSupport,且execute是默认调用的方法之一。
相关文章
- JavaWeb_(Struts2框架)Struts创建Action的三种方式
- java创建线程的三种方式及其对比
- java多线程 -- 创建线程的第三者方式 实现Callable接口
- JavaScript创建类的方式
- Python编程之列表操作实例详解【创建、使用、更新、删除】
- java核心知识点学习----创建线程的第三种方式Callable和Future CompletionService
- 以编程方式创建继承窗体
- go面向对象编程:结构体struct详解、结构体实例的创建方式、结构体之间的转换(type取别名的使用)、方法的注意事项及与函数的区别
- Spark创建RDD的四种方式(一):从集合(内存)中创建 RDD代码示例
- 85. ABAP 创建数据类型的三种方式,各自的使用场合和优缺点辨析
- 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据
- jMeter创建微软Azure Lambda Function报错
- Atitit 运营之道 互联网产品运营之道 attilax、著 1. 概念2 1.1. 核心点 内容 媒体 用户 活动 数据分析2 2. 第二章内容运营 2 2.1. 2.1 创建用户模
- Unity技术手册 - 创建物体有几种方式?
- android 7.1用dd命令创建分区和文件
- SpringBoot 创建使用地址的三种方式
- 〖Python自动化办公篇⑧〗- word文件自动化 - 创建并生成 word 文档
- 怎样使用纯CSS3创建一个简单的五角星图形
- @Scope注解设置创建bean的方式和生命周期
- 1 游戏逻辑架构,Cocos2d-x游戏项目创建,HelloWorld项目创建,HelloWorld程序分析,(CCApplicationProtocol,CCApplication,AppDeleg
- 高并发之——从源码角度分析创建线程池究竟有哪些方式
- 【Neo4j构建知识图谱】Python调用cypher语言(1):只需5行代码一次性完成节点、关系、属性的创建
- C++ 对象创建方式(四十八)
- makefile实现创建目录和复制.ko文件
- 7.1 itertools--高效循环的创建函数
- Eclipse 创建 Java 项目
- 数据分析----numpy数组的三种创建方式
- 【Vue笔记】Vue组件的创建、使用以及父子组件数据通信常见的几种方式
- Oracle12c DBCA方式创建数据库
- 虚拟化系列教程:创建 KVM 虚机的几种方式