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类的三种写法的更多相关文章
- Struts2中Action类的三种写法
一.普通的POJO类(没有继承没有实现)-基本不使用 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创 ...
- Struts2中Action配置的三种方式
<!-- 方案一:一个action对应一个方法; --> <action name="add" class="com.gxxy.struts.kp03_ ...
- Struts2中的数据处理的三种方式对比(Action中三种作用域request,session,application对象)
1:在Action中如何获得作用域(request,session,application)对象: 取得Map(键值对映射集)类型的requet,session,application; 对数据操作的 ...
- 2018.11.19 Struts2中Action类的书写方式
方式1: 方式2: 方式3
- Vue2 实例中的 data 属性三种写法与作用:
<script src="https://unpkg.com/vue/dist/vue.js"></script> <div id="app ...
- Vue2实例中的data属性三种写法与作用
<script src="https://unpkg.com/vue/dist/vue.js"></script> <div id="app ...
- 【深入Struts2】获取ServletAPI的三种方式
一:获取servletAPI的三种方法 在传统的Web开发中,经常会用到Servlet API中的HttpServletRequest.HttpSession和ServletContext.Strut ...
- Struts2中Action接收参数的方法主要有以下三种:
Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式): a.定义:在Action类中定义属性,创建get和set方法: b.接 ...
- Struts2中Action取得表单数据的几种方法
Struts2中Action取得表单数据的几种方法 Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...
随机推荐
- android 自定义标题
public class MainActivity extends Activity { /** Called when the activity is first created. */ @Over ...
- WPF gridcontrol 后台代码清除过滤筛选条件
WPF 后台清除gridcontrol过滤筛选条件: ColumnName:列名 user_GridControl:gridcontrol控件名 user_GridControl.ClearColum ...
- RestTemplate java.net.UnknownHostException
背景:公司内部系统的架构升级准备用微服务一套:记录遇到的坑. 错误信息: Servlet.service() for servlet [dispatcherServlet] in context wi ...
- dubbo-源码阅读之服务订阅
配置例子 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://w ...
- 【JS学习】慕课网4-1编程挑战 函数
要求:小伙伴们,请编写"改变颜色"."改变宽高"."隐藏内容"."显示内容"."取消设置"的函数,点 ...
- 项目实战-Gulp使用
引言 在工作中,经常会遇到要把文件合并和压缩等操作,我经历过下面的演进过程: 使用ajaxmin工具手动合并和压缩 使用Grunt合并和压缩 使用Gulp合并和压缩 这里不探讨Grunt和Gulp的优 ...
- 30分钟全方位了解阿里云Elasticsearch
摘要:阿里云Elasticsearch提供100%兼容开源Elasticsearch的功能,以及Security.Machine Learning.Graph.APM等商业功能,致力于数据分析.数据搜 ...
- Java中遍历数组的三种方式复习
1 for循环遍历 通常遍历数组都是使用for循环来实现.遍历一维数组很简单,遍历二维数组需要使用双层for循环,通过数组的length属性可获得数组的长度. 程序示例: package captai ...
- 构造——cf1213E
分情况讨论,构造很简单 #include<bits/stdc++.h> using namespace std; #define N 200005 ],t[]; int n,s1,s2,t ...
- 分治维护dp——19南昌网络赛C/cf750E
南昌网络赛,是cf的原题 第一次做到这种题,所以认真想了下,每次给一个询问[L,R],要求出这个区间里有2017子序列,但是不能有2016子序列需要删掉的最少元素个数 首先如果我们之询问一小段区间[L ...