Action的实现方式
【Pojo方式】
1.概述
Pojo(Plain Ordinary Java Object)称为简单Java类,其实就是一个JavaBean.
2.示例
/**
* Pojo类方式实现Action
*
* 优点:
* 没有继承或实现任何类或接口,类不具有侵入性。便于代码的测试和迁移。
* 缺点:
* 没有约束,容易出现错误。
* 不适用于新手使用
* @author Terry
*
*/
public class PojoAction {
public String execute(){
System.out.println("Pojo.execute() is do......"); return "success";
}
}
<package name="pojo" extends="struts-default">
<action name="pojo" class="cn.hl.action.PojoAction" >
<result>/index.jsp</result>
</action>
</package>
3.优点
简单、方便。不具有侵入性(不具备侵入性:没有继承或实现其他类或接口),便于代码的迁移。
4.缺点
没有约束,容易出现错误,不适合新手使用。
【实现接口】
1.概述
通过实现Action接口的方式实现Action类。
2.示例
/**
* 实现方式
* 创建类并实现Action接口
*
* 优点:
* 具有一定的约束性,减少了错误的发生
* 缺点:
* 通过实现的方式实现的Action,使类具有了侵入性,降低了代码的迁移性
*
* @author Terry
*
*/
public class InheritAction implements Action{ @Override
public String execute() throws Exception {
System.out.println("InheritAction.execute() is do......");
return null;
} }
3.优点
具有一定的约束性,减少了错误的发生
4.缺点
通过实现的方式实现的Action,使类具有了侵入性,降低了代码的迁移性
【继承类】
1.概述
通过继承ActionSupport类的方式实现Action。
2.示例
/**
* 继承方式实现Action
* 通过继承ActionSupport类进行实现
*
* 优点:
* 可以直接继承父类的非私有成员,达到最少代码实现Action
* 缺点:
* 具有侵入性,同时会继承父类所有非私有成员(这些成员不一定都被使用)
* 官方推荐方式
* @author Terry
*
*/
public class ExtendsAction extends ActionSupport{ }
3.优点
可以直接继承父类的非私有成员,达到最少代码实现Action
4.缺点
具有侵入性,同时会继承父类所有非私有成员(这些成员不一定都被使用)
【Action接口的成员】
- success :表示Action执行成功,需要将结果展示给用户
- none :表示Action执行成功,但不需要象用户展示任何内容。如:下载功能
- error :表示Action执行失败,需要向用户展示一个错误视图
- input :表示需要跳转到输入表单时使用
- login :表示需要用户执行登录时使用
Action的实现方式的更多相关文章
- Action的编写方式
四.Action 的编写方式 : 三种 第一种 创建普通类 不继承任何类,不实现任何接口 Public class HelloAction{ } 第二种 创建类,实现接口action Public ...
- struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的?
struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的? 解答: 1)可以直接通过与表单元素相同名称的数据成员(需要存在符合命名规范set和get ...
- java之struts2的action的创建方式
首先action是用来处理请求的, 这里struts2中的action的3中创建方式. 1.无侵入性的创建方式. 无侵入性:使用第三方的框架,不直接继承或实现第三方提供的类或者接口就说是无侵入性的. ...
- struts2 之 Action的创建方式
总结:struts2是一个轻量级框架,提供了无侵入性的实现方式,struts2也提供了接口和类来实现action.通过实现接口或者继承类来实现action可以实现struts2提供的相关功能, 1. ...
- Struts2笔记2--动态方法调用和Action接收请求方式
动态方法调用(在请求的时候,再明确具体的响应方法,配置的时候不明确): LoginAction类中有两个方法some和second 1. 动态方法的调用(修改常量struts.enable.Dynam ...
- struts2 页面向Action传参方式
1.基本属性注入 我们可以直接将表单数据项传递给Action,而Action只需要提供基本的属性来接收参数即可,这种传参方式称为基本属性注入.例如 jsp页面: <s:form method=& ...
- 【代码总结】Struts2 Action接受参数方式的对比
一.属性方式 1.Action中:对应表单参数的setter.getter 2.页面中 :Form中元素name取值属性名 <s:property value="属性名" ...
- 07. struts2中对Action的管理方式
web.xml配置文件的常用代码 <filter> <filter-name>struts2</filter-name> <filter-class>o ...
- Struts中Action三种接收参数的方式?
前言: 前面已经有一篇随笔介绍了Struts2的大概原理.本文就Struts2中Action与jsp页面进行数据对接时介绍几种常见方法! 值栈ValueStack 3个Action Action1 p ...
随机推荐
- python入门之数据类型之列表、元组、字典
list 格式: test_list = ["a",123,[1,"b"]] 索引: >>>print(test_list[0]) " ...
- C8051F_CAN
CAN总线特点:基于报文编码而非对节点编码,增删节点对系统没有影响,靠干扰稳定性好,速率高. 小工具:CANtool 收发器:CAN总线收发器CTM1050,通信速率1Mbps,至少可连接110个节点 ...
- Spark Mllib里如何将预测结果如0或1,转换为文字描述来显示预测结果输出(图文详解)
不多说,直接上干货! 具体,见 Hadoop+Spark大数据巨量分析与机器学习整合开发实战的第13章 使用决策树二元分类算法来预测分类StumbleUpon数据集
- 当获取相似数据时,使用不同方法调用不同sp,但是使用同一个方法去用IIDataReader或者SqlDataReader读取数据时需要判断column name是否存在。
/// <summary> /// Checks clumn Name /// </summary> /// <param name="reader" ...
- Java删除List指定元素
List<String> lists = new ArrayList<>(); list.add("123"); list.add("456&qu ...
- hihocoder1777 彩球
思路: 记录一下快速幂计算过程中爆long long的两种解决方法: 1. 使用__int128,这玩意本地编译不通过,提交OJ能AC. 实现: #include <bits/stdc++.h& ...
- bin&sbin 命令作用
最近需要了解sbin与bin的功能,需要整理一下.一下全部为Ubuntu14里面默认安装的.在这里收集一下,转载请注明出处! bin bash shell bunzip2 .bz2文件的解压缩程序. ...
- imageview加载本地和网络图片
ImageView是Android程序中经常用到的组件,它将一个图片显示到屏幕上. 在UI xml定义一个ImageView如下: public void onCreate(Bundle savedI ...
- shell框架
#!/bin/bash#注释#注释#环境变量相关,如下PATH=/sbin:/bin:/usr/bin:/usr/sbin #引入库函数,如下,类似于c语言的#include "*.h&qu ...
- HDU 4341 Gold miner (分组背包)
先把线按照距离原点的距离排序,然后用叉积把在同一条直线上的点放在一起, 把在同一条线上的点中的前i个点当成一个点就转化成了分组背包. 写if(kas++) putchar('\n') 居然PE了,PE ...