`
guochongcan
  • 浏览: 326948 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MappingDispatchAction与DispatchAction用法上的一点区别

    博客分类:
  • SSH
阅读更多

1.在jsp页面上

前者如下:

<li><a href="./deptAction.do">dept</a></li>

<li><a href="./deptAction.do">dept2</a></li>

后者如下:

<li><a href="./deptAction.do?method=deptPage">dept</a></li>
<li><a href="./deptAction.do?method=deptPage2">dept2</a></li>

2.在struts相应的配置文件上

前者如下:

<action
      attribute="deptActionForm"
      name="deptActionForm"
      path="/deptAction"
      parameter="deptPage"
      scope="request"
      type="org.kingtoon.action.DeptAction"
      validate="false">
        <forward name="dept" path="/dept.jsp"></forward>
      </action>
     
      <action
      attribute="deptActionForm"
      name="deptActionForm"
      path="/deptAction"
      parameter="deptPage2"
      scope="request"
      type="org.kingtoon.action.DeptAction"
      validate="false">
        <forward name="dept" path="/dept.jsp"></forward>
      </action>

后者如下

<action
      attribute="deptActionForm"
      name="deptActionForm"
      path="/deptAction"
      parameter="method"
      scope="request"
      type="org.kingtoon.action.DeptAction"
      validate="false">
        <forward name="dept" path="/dept.jsp"></forward>
      </action>

Action和对应的ActionForm都一样.


为了进一步了解二者的区别,我试着将DispatchAction的用法移植到MappingDispatchAction上,结果出错,信息如下:javax.servlet.ServletException: java.lang.NoSuchMethodException: org.itfuture.www.action.DeptAction.method(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)

提示你找不到method方法,很显然,将参数值method当成方法了,进而可以得之:MappingDispatchAction的配置文件里的 parameter的值只能是具体的方法.


由此可看出两者在实现功能上没什么区别,所以笔者目前还不清楚为什么要推出MappingDispatchAction这个类.这只是在开发过程中发现的.可能二者有本质的区别,但至少目前笔者还没发现.也许是考虑到方便不同程序员的使用习惯上吧.可谓开发者良苦用心啊.

分享到:
评论

相关推荐

    Struts中MappingDispatchAction的用法

    Struts中MappingDispatchAction的用法Struts中MappingDispatchAction的用法Struts中MappingDispatchAction的用法

    DispatchAction

    与`DispatchAction`不同,`MappingDispatchAction`允许开发者通过XML配置文件来指定请求到方法的映射,而不是硬编码在Action类中。这样,开发者可以根据业务需求自由地定义请求参数与方法的映射关系,提高了代码的...

    MappingDispatchAction一个经典小例子

    在不使用`MappingDispatchAction`时,Struts2通常通过Action类的方法名与请求URL路径的后半部分进行匹配,以决定调用哪个方法。例如,如果请求URL是`/myAction.execute`,那么Struts2会尝试找到名为`execute`的方法...

    struts_MappingDispatchAction的使用

    最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助...在此谢谢各位!!

    J2EE_高级Action

    - `MappingDispatchAction`进一步降低了Action与视图之间的耦合度,因为可以通过配置文件动态地指定不同的处理方法。 - 但是,这也意味着配置文件变得更为复杂,维护成本增加。 **示例代码**: ```xml &lt;!-- struts...

    Action使用说明

    本文将深入探讨三种不同的`Action`实现方式:继承自`Action`、继承自`DispatchAction`以及继承自`MappingDispatchAction`。每种方式都有其独特的应用场景和配置方法。 #### 一、继承自Action 如果希望自定义的类...

    JAVA面试题SSH重点.pdf

    - Struts框架中的Action是处理用户请求的核心组件,有多种类型,如普通Action、SwitchAction、IncludeAction、ForwardAction、DispatchAction、MappingDispatchAction,每种都有特定的用途。 3. **Hibernate HQL与...

    传智播客 struts课程笔记 赖家材

    - **MappingDispatchAction**:类似于 DispatchAction,但使用更复杂的映射规则来确定要执行的方法。 - **防止表单重复提交**:通过使用令牌(token)机制来防止用户的重复提交操作。 - **Struts 验证框架**:...

    struts1.x技术课程讲解.pdf

    - **LookUpDispatchAction**:与 DispatchAction 类似,但更灵活,可以动态地确定方法名。 2. **ActionServlet**:Struts1.x 的核心组件,负责初始化框架、接收 HTTP 请求并将请求分发给相应的 Action 类处理。 3. ...

    轻量级J2EE企业应用实战——Struts+Spring+Hibernate整合开发 源码第三部分

    `SwitchAction`通常用于根据不同的条件或参数选择不同的业务逻辑路径,而`MappingDispatchAction`则允许基于请求的URL映射到不同的方法。 其次,Spring框架提供了依赖注入(DI)和面向切面编程(AOP)等功能,帮助...

    整合Struts_Hibernate_Spring应用开发详解

    - **使用DispatchAction:** 可以根据不同的方法调用不同的处理器。 - **使用MappingDispatchAction:** 动态选择Action执行。 - **使用LookupDispatchAction:** 支持根据请求参数动态选择Action执行。 - **...

    我的毕设---购物网站

    基于MVC模式,控制层由Struts的MappingDispatchAction组件提供控制流程,业务逻辑和事务管理由javaBean实现,数据库访问使用Hibernate技术,表现层采用JSP组件,增强了系统的健壮性和可扩展性。 分为用户信息管理...

    ssh(struts、spring、hibernate)集成

    1. **Action类**:与方式一类似,但`UserAction`可以继承任意Action,如`MappingDispatchAction`,并定义私有变量`UserService us`,通过setter方法注入。 2. **Action配置**:在`struts_config.xml`中,`action`...

    ssh项目流程和注意事项

    - 控制器配置:使用`MappingDispatchAction`作为控制器,处理请求转发。 - 验证规则配置:通过`ValidatorPlugIn`插件进行表单验证规则的配置。 - **Action配置**:定义具体的Action类及其映射路径。 - **资源...

Global site tag (gtag.js) - Google Analytics