DispatchAction继承自Action类,它是一个抽象类,封装了一些基础方法,来解决使用一个Action处理多个操作的能力,这就是 DispatchAction最大的用途,它可以帮助我们用一个Action类,封装一套类似的操作方法,节省了类的数目,同时也减轻了后期维护的困难。
DispatchAction中主要包括一下几个方法:
protected ActionForward dispatchMethod
protected java.lang.reflect.Method getMethod
protected java.lang.String getMethodName
DispatchAction在配置上于标准的Action稍有不同,就是要在Action配置中多一个parametr属性,这个属性将指导DispatchAction找到对应的方法,例如这样配置:
<action path="/saveSubscription"
type="org.apache.struts.actions.DispatchAction"
name="subscriptionForm" scope="request" input="/subscription.jsp"
parameter="method"/>
<action name="subscriptionForm" input="/subscription.jsp" path="/saveSubscription" parameter="method" type="org.apache.struts.actions.DispatchAction" scope="request"></action>parameter 的属性值是可以任意起的,只要你记得在传参数的时候统一就可以了。
比如我写了一个类似这样的Action,它继承自DispatchAction类,包含 了三个操作方法,有Add(),Update(),Delete()。
当我想要调用这个Action的Update操作时,提交的URL应该类似这样的: http://localhost:8080/myapp/saveSubscription.do?method=update 就是这么简单,不过非常方面我们程序员了,开发中我感觉的确省了好多代码,至少以前的三个类文件变成了现在一个类了,而且在后期维护的时候感觉也是方便很多。
需要注意的是:在调用DispatchAction的时候method参数是不能为空的,如果空,DispatchAction会调用unspecified方法并抛出异常。
分享到:
相关推荐
在本项目中,我们关注的是"Struts+Oracle实现DispatchAction类",这是一个将Struts框架与Oracle数据库结合使用,以实现业务逻辑处理的例子。 DispatchAction是Struts框架中的一个关键组件,它扮演着控制器的角色,...
在本教程中,我们将深入探讨如何利用Struts的标签库和DispatchAction来实现数据的增删改查操作,这对于初学者来说是一个非常实用的学习主题。 首先,`DispatchAction`是Struts中的一个特殊Action类,它允许我们根据...
2. 需要学习 Spring 的特点和使用方法。 3. 对于复杂的业务逻辑,需要编写大量的代码。 Hibernate 的优点: 1. 提供了一个强大的对象关系映射(ORM)机制,可以简化数据库访问的代码。 2. 支持对象图的持久化,...
### Struts Framework 知识点详解 #### 一、MVC概述 ##### 1.MVC概念 ...掌握Struts框架不仅可以帮助开发者快速构建稳定可靠的Web应用,还能为进一步学习更高级的框架如Struts 2打下坚实的基础。
5. DispatchAction:Struts1提供的一种特殊Action,它将一个请求分发到多个子方法,提高代码可维护性。 二、主要组件详解 1. Controller:在Struts1中,Controller由StrutsServlet和ActionServlet实现,它们负责...
Action类需要继承自Struts框架提供的`org.apache.struts2.actions.DispatchAction`或使用注解`@Action`的ActionSupport类。 2. **Action Mapping**:在`struts.xml`配置文件中,定义了Action类与URL路径的映射,...
此外,ECharts还提供了`dispatchAction` API,通过它可以编程方式地控制地图的缩放和移动,这在交互式应用中非常有用。 在提供的文件列表中,`index.html`是主网页文件,可能包含了ECharts的HTML结构和JavaScript...
- **学习前提**:为了更好地理解和运用 Struts1.x,学员需要具备一定的技术基础,包括但不限于 JSP/Servlet 的知识、Java 基础、数据库管理和 JDBC 相关技术等。 #### 二、Struts1.x 的工作原理与架构 1. **MVC ...
学习如何使用Struts提供的ActionForm对象处理表单数据。 **5.5 struts:介绍ActionForm** 深入了解ActionForm的使用方法及其在Struts中的作用。 **5.6 分离Book和BookForm** 示例如何将实体类和表单数据分离,...
ECharts(通常被读作 e-charts)是百度开源的一个使用 JavaScript 实现的开源可视化库,它的主要特点在于简单、直观、动态...这些知识点对于学习和掌握ECharts以及进行数据可视化开发的人来说,具有较高的实用价值。