【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的实现方式的更多相关文章

  1. Action的编写方式

    四.Action 的编写方式 : 三种 第一种 创建普通类 不继承任何类,不实现任何接口 Public class HelloAction{  } 第二种 创建类,实现接口action Public ...

  2. struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的?

    struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的? 解答: 1)可以直接通过与表单元素相同名称的数据成员(需要存在符合命名规范set和get ...

  3. java之struts2的action的创建方式

    首先action是用来处理请求的, 这里struts2中的action的3中创建方式. 1.无侵入性的创建方式. 无侵入性:使用第三方的框架,不直接继承或实现第三方提供的类或者接口就说是无侵入性的. ...

  4. struts2 之 Action的创建方式

    总结:struts2是一个轻量级框架,提供了无侵入性的实现方式,struts2也提供了接口和类来实现action.通过实现接口或者继承类来实现action可以实现struts2提供的相关功能, 1. ...

  5. Struts2笔记2--动态方法调用和Action接收请求方式

    动态方法调用(在请求的时候,再明确具体的响应方法,配置的时候不明确): LoginAction类中有两个方法some和second 1. 动态方法的调用(修改常量struts.enable.Dynam ...

  6. struts2 页面向Action传参方式

    1.基本属性注入 我们可以直接将表单数据项传递给Action,而Action只需要提供基本的属性来接收参数即可,这种传参方式称为基本属性注入.例如 jsp页面: <s:form method=& ...

  7. 【代码总结】Struts2 Action接受参数方式的对比

    一.属性方式 1.Action中:对应表单参数的setter.getter 2.页面中  :Form中元素name取值属性名 <s:property value="属性名" ...

  8. 07. struts2中对Action的管理方式

    web.xml配置文件的常用代码 <filter> <filter-name>struts2</filter-name> <filter-class>o ...

  9. Struts中Action三种接收参数的方式?

    前言: 前面已经有一篇随笔介绍了Struts2的大概原理.本文就Struts2中Action与jsp页面进行数据对接时介绍几种常见方法! 值栈ValueStack 3个Action Action1 p ...

随机推荐

  1. python入门之lambda表达式、内置函数

    lambda 简单的函数就可以用lambda表达式 格式: abc = lambda a1,a2:a1+a2 其中,传参是a1和a2,返回值是a1+a2 内置函数 abs(a) #取绝对值 all(a ...

  2. 单线程单元(STA)线程都应使用泵式等待基元

    CLR 无法从 COM 上下文 0x20ad98 转换为 COM 上下文 0x20af08,这种状态已持续 60 秒.拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送 Windows ...

  3. WPF 控件树

    WPF控件树按照基类进行分类,记录下来便于编写自定义控件时查阅 RangeBase范围控件 Thumb拖到控件 TextBoxBase文本控件 ItemControl组控件 ContrentContr ...

  4. Emacs Org-mode中英文字体设置

    Emacs Org-mode中英文字体设置 Table of Contents 1. 缺省字体存在的问题 2. 解决方法 2.1. 环境说明 2.2. 思路和方法 2.3. emacs设置代码 2.4 ...

  5. 关于js对象中的,属性的增删改查问题

    删除主要是delet方法: 1 function Person(){}; 2 var person = new Person(); 3 person.name = 'yy'; 4 person.gen ...

  6. (转)ASIC设计中各个阶段需要注意的问题——节选

    ASIC 的复杂性不断提高,同时工艺在不断地改进,如何在较短的时间内开发一个稳定的可重用的ASIC芯片的设计,并且一次性流片成功,这需要一个成熟的ASIC 的设计方法和开发流程.本文结合NCveril ...

  7. inputStream 与 String 的互相转换

    一. String 转换为InputStream String str = "String 与 inputStream转换"; InputStream ins1 = new Byt ...

  8. 洛谷 P1734 最大约数和

    题目描述 选取和不超过S的若干个不同的正整数,使得所有数的约数(不含它本身)之和最大. 输入输出格式 输入格式: 输入一个正整数S. 输出格式: 输出最大的约数之和. 输入输出样例 输入样例#1: 1 ...

  9. 洛谷 P1376 机器工厂

    题目描述 小T开办了一家机器工厂,在N(N<=10000)个星期内,原材料成本和劳动力价格不断起伏,第i周生产一台机器需要花费Ci(1<=Ci<=5000)元.若没把机器卖出去,每保 ...

  10. 05_Python格式化打印

    一般框架 tplt = '' #格式化模板 print(tplt.format(…)) #填充内容 tplt = '{0}-{1}+{2}={3}' {}表示了一个槽,槽里面的内容使用key:valu ...