DispatchAction和MappingDispatchAction区别
来源:互联网 发布:linux 看文件最后几行 编辑:程序博客网 时间:2024/05/16 09:09
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的方法那一句不一样,其他代码是完全一致的(例如错误处理, 日志记录等)
- DispatchAction和MappingDispatchAction区别
- DispatchAction和MappingDispatchAction的用法及区别
- 转载:MappingDispatchAction和DispatchAction
- DispatchAction,LookupDispatchAction,MappingDispatchAction 的区别.
- struts 中MappingDispatchAction 和 DispatchAction
- DispatchAction,LookupDispatchAction,MappingDispatchAction
- DispatchAction,MappingDispatchAction,LookupDispatchAction的不同
- 深入分析 DispatchAction, LookupDispatchAction, MappingDispatchAction
- DispatchAction, LookupDispatchAction, MappingDispatchAction深入分析
- DispatchAction&MappingDispatchAction的应用
- struts中的DispatchAction、LookupDispatchAction、MappingDispatchAction
- struts1.3中常用两种Action的子类 MappingDispatchAction和DispatchAction
- Action,DispatchAction,MappingDispatchAction,LookupDispatchAction的不同
- DispatchAction, LookupDispatchAction, MappingDispatchAction深入分析(转)
- dispatchaction与action的区别
- 几种DispatchAction的区别
- dispatchaction与action的区别
- DispatchAction
- struts_hibernate_spring整合开发(hbmReverse)
- SendMessage
- How to Get Mac Address
- c语言的取模运算
- 浅谈 Oracle web环境注射技术
- DispatchAction和MappingDispatchAction区别
- java数据库连接池
- Oracle 10g 10.2.0.2.0 DBA exploit
- Linx Oracle 自动攻击器
- 大家来讨论下Java多态的实现吧
- Oracle mod_wl HTTP POST Request Remote Buffer Overflow Vulnerability
- 我看一下,看可以弄不
- 初识PostgreSQL
- 系统上线前的“培训”工作