DispatchAction 和LookupDispatchAction和MappingDispatchAction
不知道有没有人在实际中使用过struts的DispatchAction系列? 谁又能给我明白的讲讲DispatchAction, LookupDispatchAction, MappingDispatchAction各自的用法和区别呢?
1) DispatchAction就是在struts-config中用parameter参数配置一个表单字段名,这个字段的值就是最终替代execute被调用的方法. 例如parameter="method"而request.getParameter("method")="save",其中"save"就是MethodName。struts的请求将根据parameter被分发到"save"或者"edit"或者什么。但是有一点,save()或者edit()等方法的声明和execute必须一模一样。
2) LookupDispatchAction继承DispatchAction, 用于对同一个页面上的多个submit按钮进行不同的响应。其原理是,首先用MessageResource将按钮的文本和ResKey相关联,例如button.save=保存;然后再复写getKeyMethodMap(), 将ResKey和MethodName对应起来, 例如map.put("button.save", "save"); 其配置方法和DispatchAction是一样的, 使用时要这么写:
<?xml:namespace prefix = html />
<html:submit property="method">
<bean:message key="button.save">
</bean:message>
</html:submit>
3) MappingDispatchAction是1.2新加的, 也继承自DispatchAction. 它实现的功能和上面两个区别较大, 是通过struts-config.xml将多个action-mapping映射到同一个Action类的不同方法上, 典型的配置就是:
<ACTION-MAPPINGS>
<ACTION parameter="save" type="logic.UserAction" path="/saveUser"></ACTION>
</ACTION-MAPPINGS>
然后UserAction继承MappingDispatchAction,其中有:
public ActionForward save(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
public ActionForward edit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception
等方法
可以看到, 不管怎么变化, 其实这些类都是把execute给分解开, 不管是save, edit还是其他什么方法, 其实都是和原来的execute是等价的, save和edit之间没有任何直接的关系, 而事实呢,它们是同一个业务模型的两种不同操作。 我觉得这就是一个问题,对于save和edit这两种请求, 我后台逻辑有可能只是调用service的方法那一句不一样,其他代码是完全一致的(例如错误处理, 日志记录等)。因此我想出了这个小东西,在execute方法内部进行局部分解。
分享到:
相关推荐
里面包含了Hex文件的合并移机Hex文件转Bin文件,本来打算Bin转Hex也块做的,基于下面两个原因,没有做: 1、bin转hex功能暂时我没用到,而且也应该不会用到 2、bin转hex牵涉到一个起始地址问题,bin文件全是数据,不...
48V 转 24V,48V 转 20V,48V 转 9V,48V 转 5V,48V 转 3.3V,48V 转 3V,48V 转 1.8V,48V 转 24V 降压降压芯片,48V 转 20V 降压降压芯片,48V 转 9V 降压降压芯 片,48V 转 5V 降压降压芯片,48V 转 3.3V 降压...
48V转24V,48V转20V,48V转9V,48V转5V,48V转3.3V,48V转3V,48V转1.8V,48V转24V降压降压芯片,48V转20V降压降压芯片,48V转9V降压降压芯片,48V转5V降压降压芯片,48V转3.3V降压降压芯片,48V转3V降压降压芯片,...
PECL转TTL TTL转PECL 电平转换传输芯片,是一款集成的电平转换芯片
osgb格式转obj osg转osgb osgb转ive ive转obj 互转工具
vcf转csv转excel步骤: 导出手机vcf文件 - VCF2CSV读取vcf转为csv表格 - 打开excel\数据\导入外部数据(所有字优选文本类型) - 存中excel文件。 excel转csv转vcf步骤: excel文件 - 另存为csv表格 - VCF2CSV读取csv...
采用C#开发语言,借助第三方Aspose.Pdf.dll及Spire.Pdf.dll 对pdf文件进行处理,可以把pdf文件转换成doc 或者docx png等格式,通过代码大家可以进行自己重新开发,核心代码已经编写完成,下载后可以直接运行进行pdf...
obj转osgb fbx转osgb dae转osgb
仿58转转咸鱼源码,有文字教程,搭建简单
转转大师PDF转换成Word转换器软件是一款功能强大好用的pdf文件转换成word文件的软件,界面简单,功能稳定,支持批量转换,操作起来非常方便,完美支持将pdf文档转成word文档。 软件特色: 1.转转大师PDF转换成WORD...
将文件下载后放在Eclipse安装目录下plugins后重启Eclipse。双击选中要转换的字符按快捷键Ctrl+Shift+Z,插件转换规则依次是: 下划线(小写) > 驼峰(首字母大写) > 驼峰(首字母小写) > 下划线(大写) > 下划线(小写)>....
软件介绍: 本工具用于解决不同编程器之间数据转换问题,可将HEX文件转换到BIN,或者将BIN转换到HEX。注意:BIN文件是编程器兼容最好的数据格式,如有HEX软件数据转换保存后的BIN软件数据为0 KB,则源数据本身是...
改用原始图像数据流回调函数RegisterImageStreamCallback进行抓图 但回调函数帧为YUV420格式 需要转成Bitmap才用用于显示及本地查看 在网上找了好多都是基于R Y+1 4075 V 128 G Y 0 3455 U 128 – 0 7169 V 128 B Y+...
前阵子要把.264的文件转成AVI格式,在网上找了N多个软件,都无法实现。在CSDN上也下了多个,分倒是扣了不少,但也是无法使用。今天在另一个网站上花10个点总算找到了一个能转.264监控文件的播放器和转换器,而且转换...
环境:vc6 基于对话框,在CEDIT框中实现进制间转换,也就是实现转换并且显示到CEDIT控件上。 已实现的功能:二进制与十六进制字符串之间的转换。 未实现的功能:二进制与ASCII、十六进制与ASCII字符串之间的转换。...
全部黑字体,去掉背景,去除超链接,清除制表符,删除隐藏文字,替换""成“”,图片全设为嵌入型,首行缩进2,去段中不分页部份,转项目编号到文字,删除非嵌入型图片,清除换行带的下划线格式,去掉页脚页媚,Word转html,Word转...
java汉字转拼音,android汉字转拼音,汉字转拼音首字母,汉字转ASCII
网上传的postgreSQL汉字转拼音的方法,是针对9.3的版本(相信你要是8.4的也搜到了但不能直接用,才来看我的),尝试了8.4的版本来做拼音处理。发现网上的《postgreSQL汉字转拼音》里面坑比较多,尝试纠正了一下,发...
70V转24V,70V转20V,70V转15V ,70V转12V,70V转9V,70V转5V,70V转3.3V,70V转3V,70V转1.8V, 70V转24V降压降压芯片,70V转20V降压降压芯片,70V转15V降压降压芯片 ,70V转12V降压降压芯片,70V转9V降压降压芯片...