DispatchAction 是struts 1.x里有  
在java web开发中,原始的配置action都是使用一个action类实现一个功能,如果工程项目够大,action类数目会很多,就增加了该项目后期的维护难度。解决的方法,这里给大家介绍一个struts包下的action子类,DispatchAction。
DispatchAction继承自Action类,它是一个抽象类,封装了一些基础方法,来解决使用一个Action处理多个操作的能力,这就是DispatchAction最大的用途,它可以帮助我们用一个Action类,封装一套类似的操作方法,节省了类的数目,同时也减轻了后期维护的困难。
DispatchAction中主要包括以下几个方法:
protected ActionForward dispatchMethod
protected java.lang.reflect.Method getMethod
protected java.lang.String getMethodNameDispatchAction在配置上与标准的Action稍有不同,就是要在Action配置中多一个parameter属性,这个属性将指导DispatchAction找到对应的方法,例如这样配置:
<action path="/saveSubscription" type="org.apache.struts.actions.DispatchAction" name="subscriptionForm" scope="request" input="/subscription.jsp" parameter="method"/>
parameter的属性值是可以任意起的,只要你记得在传参数的时候统一就可以了。比如我写了一个类似这样的Action,它继承自DispatchAction类,包含了三个操作方法,有Add(),Update(),Delete()。当我想要调用这个Action的Update操作时,提交的URL应该类似这样的:
saveSubscription.do?method=Update
就是这么简单,不过非常方便我们程序员了,开发中我感觉的确省了好多代码,至少以前的三个类文件变成了现在一个类了,而且在后期维护的时候感觉也是方便很多。
需要注意的是:在调用DispatchAction的时候method参数是不能为空的,如果空,DispatchAction会调用unspecified方法并抛出异常。
另外一种就是在jsp页面加入一个隐藏域   
<input type="hidden" name="oparator" value="getFangwuByUid" />
然后用表单提交   那么 Struts xml配置文件中就改成
<action path="/getFangwu" name="fangwuForm"
type="com.zf_sh.action.FangWuAction" parameter="oparator">
配置文件中的parameter 值就是jsp页面隐藏域的值  
其他的和Action的配置没有太大的区别    这里的名字是随便取的

转载于:https://www.cnblogs.com/fIshflyinwater/archive/2013/03/27/2984165.html

DispatchAction相关推荐

  1. 使用DispatchAction类,为你的系统减肥!

    在Struts中你要尽可能的不用Action类,因为他们让你的项目变得臃肿,你可以使用org.apache.struts.actions.DispatchAction类来完成业务逻辑所需要的相关操作集 ...

  2. Struts DispatchAction

    在1.0版本中我们通常都是用execute方法来完成我们对业务逻辑的处理及页面的转发.通常在一个Action中我们都只能够完成一种业务逻辑的操作.如果要是完成多个业务逻辑(比如:添加.删除等)功能相近 ...

  3. 内置的struts Action 类----DispatchAction

    一.用途:通常在一个Action中只能完成一种业务操作,例如用户的增.删.改得放在三个Action 中,但是如果我想把这三个业务都放在一个Action中,想通过URL后跟参数来区分,即通过http:/ ...

  4. JavaWeb -- Struts1 多文件上传与下载 DownloadAction, DispatchAction

    1. 多文件上传与下载 上传下载jsp: <%@ page language="java" import="java.util.*" pageEncodi ...

  5. 使用echarts在地图中使用dispatchAction

    效果如下 注意事项 1.必须使用goe渲染地图 2.同一个option只能存在一个series参数 3.tooltip提示框默认跟随series参数展示 4.通过地图区域的鼠标悬停事件,用dispat ...

  6. echarts 动态更新、图表联动connect、事件、分发事件模拟用户行为dispatchAction、清空图表

    动态更新:根据id值动态更新某个图标series: [{type: 'line', smooth: true, seriesLayoutBy: 'row', emphasis: {focus: 'se ...

  7. uni-app小程序里用echarts-for-wx-uniapp,dispatchAction不起作用

    饼状图自定义了高亮显示和点击时候高亮显示及自定义操作, 产生问题: 1.刚加载时候的默认高亮不起作用 2.点击空白区域,高亮消失 解决方法: 直接设置不起作用,将设置加在$nextTick里,问题解决 ...

  8. echarts 饼图调用高亮示例 dispatchAction

    <!-- 为ECharts准备一个具备大小(宽高)的Dom --><div id="main" style="width: 600px;height:4 ...

  9. echarts 地图 dispatchaction不好使_数据分析帝:广东省客户数量地图展示,如何通过python实现?...

    上周在给公司做数据时,在展示数据到了展示公司在广东省内客户数量时候,机械性的用了柱状图,回家路上想了一下,是否可以有别的.更好的展示方式呢?于是就想到了用地图展示,常用地图展示有以下几种方式: 1.P ...

  10. 使用struts中的DisPatchAction的时候需要用到的jar包

    在配置struts-config的时候,使用同样的输入数据的action时候,可以将这些action配制成一个,在这里需要调用的jar包名为struts-extras-1.3.10.jar.这个jar ...

最新文章

  1. 4场直播,哈工大、亚马逊等大咖为你带来机器学习与知识图谱的内容盛宴
  2. 智能车竞赛技术报告 | 节能信标组 - 华南理工大学 - 华工雨花队
  3. error C2039: IsOutRange
  4. TCP协议经典书籍--TCP/IP详解
  5. Java实现单链表的逆转置
  6. redis数据结构详解之Hash(四)
  7. word自带公式编辑_怎样在word2013中快速插入数学公式
  8. 计算机科学导论第二章,计算机科学导论第二章.doc
  9. 【JavaWeb】JDBC优化 之 数据库连接池、Spring JDBC
  10. 元组的常用方法、应用场景
  11. Perl Fork的问题
  12. mybatis中concat的用法
  13. NOIP Day -151
  14. AI 视频分析识别系统技术分析
  15. 三维数字沙盘电子沙盘MR AR VR虚拟现实无人机倾斜摄影三维全景建模卫星图片矢量
  16. oracle 中(+) 是什么意思
  17. (rear + maxSize - front) % maxSize 公式的理解(文图详解,手把手)
  18. 优美图案c语言程序,C语言经典例题100例——C语言练习实例65解答(一个最优美的图案)...
  19. 黑客或可完全控制设备,苹果紧急发布补丁!
  20. macOS上的改键指南--使用Karabiner

热门文章

  1. poj 1504 Adding Reversed Numbers
  2. elk收集分析nginx access日志
  3. 使用css3背景渐变中的透明度来设置不同颜色的背景渐变
  4. Sublime_配置插件
  5. Linux下配置完整安全的DHCP服务器详解
  6. VS 2010 for SharePoint
  7. 关于EXCEL操作的问题
  8. 给年轻工程师的十大忠告[转载]
  9. Mobileye单目测距
  10. 迭代求解最优化问题——步长确定