Action是struts中的一个抽象类,它其实是Struts的心脏部分,前面提到的ActionServlet和ActionForm进过处理获取的请求和数据,都会到达Action中得到分发。
一:Action有那些作用
- 可以进行一些表单数据的检查,这里面的检查一般和页面的检查是不一样的,页面的检查都是客户端的一些数据格式规范的检查,这里的检查而与业务相关的检查一般放到这里面检查,比如与JavaBean相关的一些操作。也可以说它是一个业务逻辑的管理分发的地方。
- 执行必要的业务逻辑,不如存取数据库,调用实体bean等。它会直接调用业务逻辑层的javabean去处理数据库的操作,比如增删改查等。
- 根据处理的结果决定程序的去向,并以ActionForward对象的形式传递给ActionServlet,这样ActionServlet通过配置文件,决定返回的数据到达那个页面。
- Action是一个抽象类,必须实现以后才能执行,执行的方法是execute方法。
二 :一个完整的Action示例和执行流程。
Action执行流程
首先,Struts的ActionServlet接收到一个请求,然后根据struts-config.xml的配置定位到相应的mapping(映射);接下来如果form的范围是request或者在定义的范围中找不到这个form,创建一个新的form实例;取得form实例以后,调用其 reset()方法,然后将表单中的参数放入form,如果validate属性不为false,调用validate()方法;如果validate()返回非空的ActionErrors,将会被转到input属性指定的URI,如果返回空的ActionErrors,那么执行Action的 execute()方法,根据返回的ActionForward确定目标URI。
这样做的效果是:execute()仅当validate()成功以后才执行;input属性指定的是一个URI。
三.一个特殊的Action:DispatchAction
由于当业务太多的时候,每个业务都要创造一个Action,这样会大大增加Action的数量,而且也会造成浪费。
它的主要好处就是把所有的Action放到一个类里面,通过传过来的参数决定调用那个Action操作。
DispatchAction类是一个抽象类,它实现了父类(Action)的execute()方法,所以它的子类就不用来实现这个方法了,只需要专注与实际操作的方法。
下面看一个dispatchAction应用实例。
1.首先要一个DispatchAction的子类,它含有一些方法,login,logout,method1,
一定要注意在DispatchAction中你想执行的操作,都必须要有统一的参数(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse),是一个规定.
2.接下来是配置struts-config.xml
这里需要注意的就是parameter属性的值,因为这个值要和页面传来的参数对应.
3.再来看看JSP页pages/dispatch1.jsp
这里要注意几点,首先?后面的KEY要和struts-config.xml中的parameter相同,还有它的VALUE要是你在action的一个方法名字,这里方法名为login,那么在程序运行时就是调用login的操作,如果是logout,那程序就调用logout的操作.
分享到:
相关推荐
【标题】"myeclipse+struts实例——1"是一个基于Java EE(J2EE)开发的简单登录验证系统,采用MyEclipse作为集成开发环境,Struts作为MVC框架,以及Tomcat作为应用服务器。 【描述】"myeclipse+struts+tomcat 简单...
【标题】"myeclipse+struts实例——2"是一个基于Java EE(J2EE)技术栈的项目实例,主要涉及MyEclipse集成开发环境、Struts框架和Tomcat服务器的使用。在这个实例中,开发者将学习如何在MyEclipse中创建一个简单的...
《SSM框架整合详解——基于spring-mybatis-struts2-master的实战分析》 在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个...
### Struts 2综合应用实例...通过以上步骤,我们不仅完成了添加学生信息功能的实现,还深入了解了Struts 2框架的多个关键组成部分及其工作原理。这对于进一步学习和开发基于Struts 2的复杂Web应用程序具有重要的意义。
本文将重点介绍Struts 2.0中的核心组件——Action,特别是它与Struts 1.x版本之间的主要区别,并通过一些具体示例来加深理解。 #### 二、Struts 1.x与Struts 2.0的Action模型对比 在讨论Struts 2.0中的Action之前,...
本文旨在深入剖析Struts框架的核心组件之一——`ActionServlet`的工作原理及其配置过程,帮助读者更好地理解Struts框架的内部机制。 #### 二、ActionServlet概述 `ActionServlet`是Struts框架中的关键组件,负责...
**Struts框架详解** Struts是一个开源的Java Web应用程序框架,它主要负责处理MVC(Model-View-Controller)设计模式的应用开发。本系统“JSP源码——[信息办公]Struts图书馆管理系统”是基于Struts框架实现的,...
- **核心概念**:标签中的“struts2 action”指出了本书关注的一个核心概念——Action,这是Struts2框架中处理用户请求的关键组件。通过理解和掌握Action的工作原理及其相关配置,开发者可以更好地设计和实现Web应用...
- 编写Struts2的配置文件`struts.xml`,定义Action类及其结果页面。 - 配置Spring的`applicationContext.xml`,声明Bean,包括DAO接口及其实现类、Service层的接口及其实现类,以及Action类。 7. **Action处理与...
### Struts——一种开源MVC的实现 #### 引言 随着互联网的发展,网页设计已经远远超出了简单地发布HTML页面的范畴。专业的网站开发不仅仅需要考虑美观的设计,还需要考虑到用户体验、性能优化、安全性等多方面因素...
在Struts2框架中,除了大家熟知的`struts.xml`配置文件之外,还有一个重要的配置文件——`struts.properties`。该文件主要用来存储一些Struts2的核心配置属性,通过键值对的方式设置框架的行为模式、国际化设置以及...
SSH 配置详解 SSH(Structs、Spring、Hibernate)框架是 JavaEE 实训课程中常用的框架组合,它可以帮助开发人员快速构建 JavaEE 应用程序。本文将详细介绍 SSH 框架的配置和使用方法。 SSH 框架的作用 -----------...
### Struts in Action中文版1.2:Struts框架详解 #### 1. 关于本书与Struts背景 《Struts in Action》是一本全面介绍了领先Java Web开发框架——Struts的经典著作。本书由Ted Husted撰写,Eric Liu翻译,并在2005...
Struts2.3.7.jar 是一个非常重要的Java Web开发框架——Apache Struts 2的特定版本库文件。Struts 2是基于Model-View-Controller(MVC)设计模式的开源框架,它极大地简化了Java Servlets和JSP应用程序的开发。这个...
本文旨在深入探讨Struts框架如何实现MVC模式,以及如何通过一个具体的例子——全面预算管理系统中的预算资料模块,来展示Struts框架的强大功能。 #### MVC模式概述 MVC模式最早由Xerox PARC在20世纪80年代为编程...
本文将通过一个具体的示例——基于Struts 1.2的图片上传应用——来详细介绍其实现过程。 #### 二、环境搭建与配置 在开始编写代码之前,我们需要确保已经正确地搭建好了开发环境,并且项目中包含了Struts 1.2的...