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`是Struts2框架中的一种特殊Action,用于处理多个请求映射到同一个Action的情况。在Struts2中,Action是处理用户请求的核心组件,而`MappingDispatchAction`则是实现请求分发的一种机制,它...
Struts中MappingDispatchAction的用法Struts中MappingDispatchAction的用法Struts中MappingDispatchAction的用法
最近自学java中的框架-struts写了一些小例子,这都是很经典的程序,如果大家瞧得起要下载去看看,顺便给俺找找不足的地方。我的qq 821865130 email qingtian_hechen@163.com 希望大家能多多给我帮助...在此谢谢各位!!
在Struts框架中,`DispatchAction`和`MappingDispatchAction`是两种常见的控制器组件,用于处理用户请求。它们是Action接口的实现类,主要用于映射HTTP请求到特定的方法,从而实现业务逻辑的分发。 首先,让我们...
- **定义**:`MappingDispatchAction`同样是Struts框架提供的一种特殊Action,它可以根据请求参数动态映射到不同的Action处理类。 - **应用场景**:当一个页面需要通过同一个Action但映射到不同逻辑处理时使用,...
基于MVC模式,控制层由Struts的MappingDispatchAction组件提供控制流程,业务逻辑和事务管理由javaBean实现,数据库访问使用Hibernate技术,表现层采用JSP组件,增强了系统的健壮性和可扩展性。 分为用户信息管理...
本文将深入探讨三种不同的`Action`实现方式:继承自`Action`、继承自`DispatchAction`以及继承自`MappingDispatchAction`。每种方式都有其独特的应用场景和配置方法。 #### 一、继承自Action 如果希望自定义的类...
在给出的文件中,我们看到了如`SwitchAction`、`MappingDispatchAction`等Action类,这些都是Struts中用于处理用户请求的核心组件。`SwitchAction`通常用于根据不同的条件或参数选择不同的业务逻辑路径,而`...
- **MappingDispatchAction**:允许开发者为每个请求参数定义不同的处理方法。 - **LookUpDispatchAction**:与 DispatchAction 类似,但更灵活,可以动态地确定方法名。 2. **ActionServlet**:Struts1.x 的核心...
- Struts框架中的Action是处理用户请求的核心组件,有多种类型,如普通Action、SwitchAction、IncludeAction、ForwardAction、DispatchAction、MappingDispatchAction,每种都有特定的用途。 3. **Hibernate HQL与...
1. **Action类**:与方式一类似,但`UserAction`可以继承任意Action,如`MappingDispatchAction`,并定义私有变量`UserService us`,通过setter方法注入。 2. **Action配置**:在`struts_config.xml`中,`action`...
- 控制器配置:使用`MappingDispatchAction`作为控制器,处理请求转发。 - 验证规则配置:通过`ValidatorPlugIn`插件进行表单验证规则的配置。 - **Action配置**:定义具体的Action类及其映射路径。 - **资源...
- **MappingDispatchAction**:类似于 DispatchAction,但使用更复杂的映射规则来确定要执行的方法。 - **防止表单重复提交**:通过使用令牌(token)机制来防止用户的重复提交操作。 - **Struts 验证框架**:...
- **使用MappingDispatchAction:** 动态选择Action执行。 - **使用LookupDispatchAction:** 支持根据请求参数动态选择Action执行。 - **使用ForwardAction:** 实现简单的页面转发。 - **使用IncludeAction:*...