`

struts中的DispatchAction、LookupDispatchAction、Mappin

阅读更多
转载:http://hi.baidu.com/javajavajava/blog
index.jsp

<%@ page language="java" pageEncoding="GB18030"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
<html:base />
<title>index.jsp</title>
</head>

<body>
DispatchAction
<ul>
    <li><html:link page="/testDispatch.do?method=a">testDispatch a</html:link></li>
    <li><html:link page="/testDispatch.do?method=b">testDispatch b</html:link></li>
    <li><html:link page="/testDispatch.do?method=c">testDispatch c</html:link></li>
</ul>
LookupDispatchAction
<ul>
    <li>
     <html:form action="/testLookupDispatch.do">
     <html:submit property="cmd"><bean:message key="button.a"/></html:submit>
     <html:submit property="cmd"><bean:message key="button.b"/></html:submit>
     </html:form>
    </li>
</ul>
MappingDispatchAction
<ul>
    <li><html:link page="/a.do">MappingDispatchAction a</html:link></li>
    <li><html:link page="/b.do">MappingDispatchAction b</html:link></li>
</ul>
</body>
</html:html>


struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
     <data-sources />
     <form-beans >
       <form-bean name="testDispatchForm" type="com.hqh.struts.form.TestDispatchForm" />
       <form-bean name="testLookupDispatchForm" type="com.hqh.struts.form.TestLookupDispatchForm" />
       <form-bean name="testMappingDispatchForm" type="com.hqh.struts.form.TestMappingDispatchForm" />

     </form-beans>

     <global-exceptions />
     <global-forwards />
     <action-mappings >
       <action
         attribute="testDispatchForm"
         input="/index.jsp"
         name="testDispatchForm"
         parameter="method"
         path="/testDispatch"
         scope="request"
         type="com.hqh.struts.action.TestDispatchAction" />
       <action
         attribute="testLookupDispatchForm"
         input="/index.jsp"
         name="testLookupDispatchForm"
         parameter="cmd"
         path="/testLookupDispatch"
         scope="request"
         type="com.hqh.struts.action.TestLookupDispatchAction" />
       <action
         attribute="testMappingDispatchForm"
         input="/index.jsp"
         name="testMappingDispatchForm"
        parameter="a"
         path="/a"
         scope="request"
         type="com.hqh.struts.action.TestMappingDispatchAction" />
       <action
         attribute="testMappingDispatchForm"
         input="/index.jsp"
         name="testMappingDispatchForm"
        parameter="b"
         path="/b"
         scope="request"
         type="com.hqh.struts.action.TestMappingDispatchAction" />

     </action-mappings>

     <message-resources parameter="com.hqh.struts.ApplicationResources" />
</struts-config>

TestDispatchAction.java

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.hqh.struts.action;

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

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.hqh.struts.form.TestDispatchForm;

/** 
* MyEclipse Struts
* Creation date: 09-30-2007
* 
* XDoclet definition:
* @struts.action path="/testDispatch" name="testDispatchForm" input="/form/testDispatch.jsp" parameter="method" scope="request" validate="true"
*/
public class TestDispatchAction extends DispatchAction {
/*
     * Generated Methods
     */

/** 
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
public ActionForward a(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) {
     TestDispatchForm testDispatchForm = (TestDispatchForm) form;
     System.out.println("TestDispatchAction-->a");
     return null;
}
public ActionForward b(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) {
     TestDispatchForm testDispatchForm = (TestDispatchForm) form;
     System.out.println("TestDispatchAction-->b");
     return null;
}
public ActionForward c(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) {
     TestDispatchForm testDispatchForm = (TestDispatchForm) form;
     System.out.println("TestDispatchAction-->c");
     return null;
}
}

TestLookupDispatchAction.java

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.hqh.struts.action;

import java.util.HashMap;
import java.util.Map;

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

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

import com.hqh.struts.form.TestLookupDispatchForm;

/** 
* MyEclipse Struts
* Creation date: 09-30-2007
* 
* XDoclet definition:
* @struts.action path="/testLookupDispatch" name="testLookupDispatchForm" input="/form/testLookupDispatch.jsp" parameter="cmd" scope="request" validate="true"
*/
public class TestLookupDispatchAction extends LookupDispatchAction {
/*
     * Generated Methods
     */
public ActionForward a(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) {
     TestLookupDispatchForm testLookupDispatchForm = (TestLookupDispatchForm) form;
     System.out.println("TestLookupDispatchAction--a");
     return null;
}
public ActionForward b(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) {
     TestLookupDispatchForm testLookupDispatchForm = (TestLookupDispatchForm) form;
     System.out.println("TestLookupDispatchAction--b");
     return null;
}

@Override
protected Map getKeyMethodMap() {
     Map map = new HashMap();
     map.put("button.a", "a");
     map.put("button.b", "b");
     return map;
}
}

TestMappingDispatchAction.java

/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.hqh.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
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.hqh.struts.form.TestMappingDispatchForm;

/** 
* MyEclipse Struts
* Creation date: 09-30-2007
* 
* XDoclet definition:
* @struts.action path="/testMappingDispatch" name="testMappingDispatchForm" input="/form/testMappingDispatch.jsp" parameter="a" scope="request" validate="true"
*/
public class TestMappingDispatchAction extends MappingDispatchAction {
/*
     * Generated Methods
     */
public ActionForward a(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) {
     TestMappingDispatchForm testMappingDispatchForm = (TestMappingDispatchForm) form;
     System.out.println("TestMappingDispatchAction-->a");
     return null;
}
public ActionForward b(ActionMapping mapping, ActionForm form,
      HttpServletRequest request, HttpServletResponse response) {
     TestMappingDispatchForm testMappingDispatchForm = (TestMappingDispatchForm) form;
     System.out.println("TestMappingDispatchAction-->b");
     return null;
}
}

分享到:
评论

相关推荐

    struts中dispatchAction用法

    Struts是Java Web开发中的一款经典MVC框架,它的核心组件之一是DispatchAction,这个组件在...通过学习和分析这些文件,初学者可以更深入地理解Struts中DispatchAction的使用和工作原理,从而更好地进行Java Web开发。

    Struts(DispatchAction) + 存储过程 => 实现分页效果

    DispatchAction是Struts框架中的一个动作类,用于处理用户的请求并转发到相应的业务逻辑。在这个场景中,我们将探讨如何结合DispatchAction和存储过程来实现分页效果。 首先,理解分页的基本概念。分页是当数据量过...

    DispatchAction、LookupDispatchAction、SwitchAction的应用

    **DispatchAction** 是 Struts 框架中一个非常有用的类,它位于 `org.apache.struts.actions` 包中。其核心作用是允许将多个原本需要独立 Action 处理的任务合并到一个 Action 中进行处理,从而简化了 Action 的管理...

    struts DispatchAction

    Struts DispatchAction是一个在Struts框架中非常重要的概念,它是一种控制器组件,用于处理来自用户的请求并调度到相应的业务逻辑方法。在Struts框架中,DispatcherAction是Action类的一个子类,它的主要作用是实现...

    Struts 之 DispatchAction

    在Struts框架中,`DispatchAction`是一个关键组件,它扮演着控制器的角色,负责处理用户请求并调用相应的业务逻辑。在本篇文章中,我们将深入探讨`DispatchAction`的工作原理、优点以及如何在实际项目中使用。 `...

    Struts_DispatchAction的使用

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

    Struts中等同于DispatchAction类方法

    标题提到的"Struts中等同于DispatchAction类方法"是指在Struts框架中,如何模拟`DispatchAction`的行为,即如何通过URL参数调用Action类的不同方法。在传统的`DispatchAction`中,我们通常会在子类中定义多个方法,...

    Struts1中怎样实现DispatchAction配置多个input属性\Struts1中怎样实现DispatchAction配置多个input属性

    Struts1中怎样实现DispatchAction配置多个input属性\Struts1中怎样实现DispatchAction配置多个input属性

    解决Struts1.x中使用Validator框架对DispatchAction不同方法使用不同的字段验证的示例

    解决Struts1.x中使用Validator框架对DispatchAction不同方法使用不同的字段验证 你可以先参看我的blog文章:http://blog.csdn.net/qjyong/archive/2008/11/16/3311688.aspx 再决定是否下载。

    利用struts标签,dispatchAction,实现增删改查

    首先,`DispatchAction`是Struts中的一个特殊Action类,它允许我们根据请求参数的不同,调用不同的方法来处理请求。这种设计使得Action类可以更加模块化,每个方法对应一种特定的操作,如添加、删除、更新或查询。 ...

    struts+oracle实现DispatchAction类

    在Struts中,Action是业务逻辑的核心,而`DispatchAction`是Action的一个扩展,它提供了一种更加灵活的方式来处理请求。默认情况下,Struts的Action只有一个execute方法,但`DispatchAction`允许我们将请求映射到多...

    Struts2常用标签&DispatchAction.rar

    03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar03Struts2常用标签&DispatchAction.rar

    LookupDispatchAction 是使用方法

    总的来说,`LookupDispatchAction`是Struts1框架中提高代码可维护性和灵活性的一个实用工具,适用于处理多种请求映射到同一动作的情况。理解其工作原理并合理使用,能有效提升项目开发的效率和质量。

    DispatchAction

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

    深入解析Java的Struts框架中的控制器DispatchAction

    本文将深入解析Struts中的控制器组件,特别是DispatchAction的使用。 在Struts框架中,控制器主要由ActionServlet和Action类组成。ActionServlet作为前端控制器,负责拦截所有HTTP请求,并根据配置文件(struts-...

    struts1深入学习

    struts1学习资料:里面包含struts源码工程 ActionServlet DispatchAction Action LookUpDispatchAction的用法 还包含html logic bean tiles标签的详细使用方法和validate验证框架的具体案例

    DispatchAction实例

    在Struts框架中,`DispatchAction`是一个非常重要的组件,它是Struts提供的一个扩展自`Action`类的抽象类,主要用于处理多个请求方法的情况。在实际的Web应用程序开发中,通常一个URL对应一个Action,而`...

    struts1.2实现计算器示例

    首先,`DispatchAction`是Struts1.2中的一个核心类,它是`Action`类的子类,主要负责处理HTTP请求。在`DispatchAction`中,我们可以通过重写`execute`方法来定义多个业务处理方法,每个方法对应一个特定的请求路径。...

    STRUTS中文文档.rar

    "Struts中的应用(上传).ppt"可能专注于讲解Struts处理文件上传的功能,这是Web应用中常见的需求,Struts为此提供了便捷的支持。 通过阅读和学习这些文档,开发者可以逐步掌握Struts的核心概念、设计模式以及如何在...

    JavaEE框架 Struts_In_Action(中文版)

    JavaEE框架 Struts_In_Action(中文版) Struts Action Struts_In_Action LookupDispatchAction DispatchAction 对Action讲的比较仔细,可以深入的了解Struts框架里的基本原理。

Global site tag (gtag.js) - Google Analytics