`
ychw668
  • 浏览: 14052 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
文章分类
社区版块
存档分类

学习使用DispatchAction(转)

阅读更多

       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框架与Oracle数据库结合使用,以实现业务逻辑处理的例子。 DispatchAction是Struts框架中的一个关键组件,它扮演着控制器的角色,...

    利用struts标签,dispatchAction,实现增删改查

    在本教程中,我们将深入探讨如何利用Struts的标签库和DispatchAction来实现数据的增删改查操作,这对于初学者来说是一个非常实用的学习主题。 首先,`DispatchAction`是Struts中的一个特殊Action类,它允许我们根据...

    Struts,Spring,Hibernate优缺点

    2. 需要学习 Spring 的特点和使用方法。 3. 对于复杂的业务逻辑,需要编写大量的代码。 Hibernate 的优点: 1. 提供了一个强大的对象关系映射(ORM)机制,可以简化数据库访问的代码。 2. 支持对象图的持久化,...

    学习struts很好的文档

    ### Struts Framework 知识点详解 #### 一、MVC概述 ##### 1.MVC概念 ...掌握Struts框架不仅可以帮助开发者快速构建稳定可靠的Web应用,还能为进一步学习更高级的框架如Struts 2打下坚实的基础。

    菜鸟学struts1必备 API

    5. DispatchAction:Struts1提供的一种特殊Action,它将一个请求分发到多个子方法,提高代码可维护性。 二、主要组件详解 1. Controller:在Struts1中,Controller由StrutsServlet和ActionServlet实现,它们负责...

    struts计算器

    Action类需要继承自Struts框架提供的`org.apache.struts2.actions.DispatchAction`或使用注解`@Action`的ActionSupport类。 2. **Action Mapping**:在`struts.xml`配置文件中,定义了Action类与URL路径的映射,...

    echarts.js图表插件带坐标点和放大缩小地图

    此外,ECharts还提供了`dispatchAction` API,通过它可以编程方式地控制地图的缩放和移动,这在交互式应用中非常有用。 在提供的文件列表中,`index.html`是主网页文件,可能包含了ECharts的HTML结构和JavaScript...

    struts1.x技术课程讲解.pdf

    - **学习前提**:为了更好地理解和运用 Struts1.x,学员需要具备一定的技术基础,包括但不限于 JSP/Servlet 的知识、Java 基础、数据库管理和 JDBC 相关技术等。 #### 二、Struts1.x 的工作原理与架构 1. **MVC ...

    struts基础教程

    学习如何使用Struts提供的ActionForm对象处理表单数据。 **5.5 struts:介绍ActionForm** 深入了解ActionForm的使用方法及其在Struts中的作用。 **5.6 分离Book和BookForm** 示例如何将实体类和表单数据分离,...

    echarts实现折线图的拖拽效果

    ECharts(通常被读作 e-charts)是百度开源的一个使用 JavaScript 实现的开源可视化库,它的主要特点在于简单、直观、动态...这些知识点对于学习和掌握ECharts以及进行数据可视化开发的人来说,具有较高的实用价值。

Global site tag (gtag.js) - Google Analytics