`
hs598375774
  • 浏览: 2558 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

MappingDispatchAction

阅读更多
org.apache.struts.actions.MappingDispatchAction继承org.apache.struts.actions.DispatchAction,用DispatchAction相对于

action是比较方便的很多,不过那写方法要自己去写才知道要找那个方法

如:loingAction.do?action=insert,而如果用的是MappingDispatchAction则不用这么明显的标识只要在struts-config.xml配置即可如下面的配置,下面的action是继承MappingDispatchAction

<action path="/loginMappingAction" type="com.hs.userManager.web.action.LoginAction" name="loginForm"
validate="true"  parameter="checkUser"> ,
而在DispatchAction中怎是配置请求action的标识是程序知道该调用DispatchAction中那个方法如

下面这个是继承DispatchAction

action path="/loginAction" type="com.hs.userManager.web.action.LoginAction" name="loginForm"
validate="true"  parameter="action"> 此处的parameter的名字可以随意取


虽然配置都是一样的但是请求确实不一样,下面看它们的请求有什么不同

建设是一个登录界面:



MappingDispatchAction的请求是这样的

loginMappingAction.do,而这样请求怎是会找到MappingDispatchAction中的checkUser方法(根据parameter="checkUser"这个属性)

checkUser方法如下:

package com.hs.userManager.web.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import org.apache.struts.actions.MappingDispatchAction;

import com.hs.HourseManager.service.imp.HourseInfoService;
import com.hs.pojo.MutilPojoBean;

public class InitHourseByIdAction extends MappingDispatchAction {

public ActionForward  checkUser(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {

  /*

  *  这里是你具体怎样处理的逻辑,一般是调用服务层的方法

  *

  */

  return mapping.findForward("");  }
}



而如果是DispatchAction则需要这样写才可以请求到自己想要的方法如下:

loginAction.do?action=checkUse这样才可以请求到action中的相应的方法

checkUser方法如下,和MappingDispatchAction差不多:



package com.hs.userManager.web.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import org.apache.struts.actions.DispatchAction;

import com.hs.HourseManager.service.imp.HourseInfoService;
import com.hs.pojo.MutilPojoBean;

public class InitHourseByIdAction extends DispatchAction {

public ActionForward  checkUser(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {

  /*

  *  这里是你具体怎样处理的逻辑,一般是调用服务层的方法

  *

  */

  return mapping.findForward("");  }
}



这样一比较起来我个人觉得是MappingDispatchAction比较好用一些,MappingDispatchAction还有一些和标签一起使用的

不过struts1.x的标签很烂,所以我就没有加入标签了!
分享到:
评论

相关推荐

    MappingDispatchAction一个经典小例子

    `MappingDispatchAction`是Struts2框架中的一种特殊Action,用于处理多个请求映射到同一个Action的情况。在Struts2中,Action是处理用户请求的核心组件,而`MappingDispatchAction`则是实现请求分发的一种机制,它...

    Struts中MappingDispatchAction的用法

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

    struts_MappingDispatchAction的使用

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

    DispatchAction

    在Struts框架中,`DispatchAction`和`MappingDispatchAction`是两种常见的控制器组件,用于处理用户请求。它们是Action接口的实现类,主要用于映射HTTP请求到特定的方法,从而实现业务逻辑的分发。 首先,让我们...

    J2EE_高级Action

    - **定义**:`MappingDispatchAction`同样是Struts框架提供的一种特殊Action,它可以根据请求参数动态映射到不同的Action处理类。 - **应用场景**:当一个页面需要通过同一个Action但映射到不同逻辑处理时使用,...

    我的毕设---购物网站

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

    Action使用说明

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

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

    在给出的文件中,我们看到了如`SwitchAction`、`MappingDispatchAction`等Action类,这些都是Struts中用于处理用户请求的核心组件。`SwitchAction`通常用于根据不同的条件或参数选择不同的业务逻辑路径,而`...

    struts1.x技术课程讲解.pdf

    - **MappingDispatchAction**:允许开发者为每个请求参数定义不同的处理方法。 - **LookUpDispatchAction**:与 DispatchAction 类似,但更灵活,可以动态地确定方法名。 2. **ActionServlet**:Struts1.x 的核心...

    JAVA面试题SSH重点.pdf

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

    ssh(struts、spring、hibernate)集成

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

    ssh项目流程和注意事项

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

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

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

    整合Struts_Hibernate_Spring应用开发详解

    - **使用MappingDispatchAction:** 动态选择Action执行。 - **使用LookupDispatchAction:** 支持根据请求参数动态选择Action执行。 - **使用ForwardAction:** 实现简单的页面转发。 - **使用IncludeAction:*...

Global site tag (gtag.js) - Google Analytics