DispatchAction是struts 1 的内置通用分发器

import org.apache.struts.actions.DispatchAction;

public class UserAction extends DispatchAction {

      public ActionForward execute(ActionMapping mapping, ActionForm form,
                   HttpServletRequest request,HttpServletResponse response)
                   throwsException {
            //调用业务逻辑操作

                    //一定要执行这句话,或者干脆把execute()方法去掉
           return super.execute();
     }

     public ActionForward list(ActionMapping mapping, ActionForm form,
                   HttpServletRequest request,HttpServletResponse response)
                   throwsException {
            //调用业务逻辑操作

            return mapping.findForward("list_success");
     }

     public ActionForward del(ActionMappingmapping, ActionForm form,
                   HttpServletRequest request,HttpServletResponse response)
                   throws Exception {
           //调用业务逻辑操作

           return mapping.findForward("del_success");
     }

     public ActionForward add(ActionMappingmapping, ActionForm form,
                   HttpServletRequest request,HttpServletResponse response)
                   throwsException {

            //调用业务逻辑操作

            return mapping.findForward("add_success");    }

}

上面这个Action有三个跟业务相关的方法list()、add()、del();Struts将请求转入这个Action之后,会根据一个参数名称来决定要执行哪个方法,这个参数的名字和Action内的方法名字一致,这个参数需要在<action-mapping>中配置,一般为action或method

 <action
             name="firstForm"
             path="/user"
             parameter="method"            <!-- 分发器参数-->
             type="com.clf.struts.action.HelloAction"     />

DynaActionForm

DynaActionForm不需要写action,它的使用是配置式的,比普通的FormBean多了<form-property>

<form-beans>
   <form-bean name="dynaActionForm" type="org.apache.struts.action.DynaActionForm">
   <span style="white-space:pre">	</span><form-property name="age"type="java.lang.Integer"/>
   <span style="white-space:pre">	</span><form-property name="name"type="java.lang.String"/>
   </form-bean>
</form-beans> 

在action中使用

DynaActionForm dynaForm = (DynaActionForm) form;
Sting name = (String) dynaForm.get("name");
Integer age = (Integer) dynaForm.get("age");

 

在JSP中跟使用常规的FormBean一样

Struts 1之DispatchAction的更多相关文章

  1. SSH三大框架笔面试总结

    Java工程师(程序员)面题 Struts,Spring,Hibernate三大框架 1.Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建Sess ...

  2. spring 整合 Struts1.X [转]

    这篇博客摘自[http://blog.csdn.net/chendc201/article/details/8464008], 其中也有一些是自己增加的部分 . 第一步, 需要为 Struts 装载 ...

  3. Struts1使用技巧

    转自:https://blog.csdn.net/chjttony/article/details/6099101 1.Struts1是Apache推出的java web开发领域一个比较早,同时也是使 ...

  4. 有关struts中DispatchAction的用法小结

       今天刚刚看了DispatchAction觉得这个东西有点意思,所以就写点东西,通过它的名字我想应该可以明白它的作用了,用于分发的Action,主要的好处是把一些功能类似的Action放到一个Ac ...

  5. Struts DispatchAction Example

    The DispatchAction class (org.apache.struts.actions.DispatchAction) provides a way to group all rela ...

  6. Struts dispatchAction

    在Struts中定义动态Action,不用定义多个Action,可以实现一个action,多个跳转. 在定义时,继承DispatchAction,并定义parameter的名字 在jsp页面选择act ...

  7. 【Struts 分派Action】DispatchAction

    LoginAction package k.action; import k.form.UserForm; import org.apache.struts.action.ActionForm; im ...

  8. Struts与Struts2的区别

    Struts与Struts2的区别 首先看一张Struts2的发展路线图:       从Struts2的发展过程来看,Struts2继承了Struts与Webwork的特性,形成了新的框架.但是它的 ...

  9. Struts核心技术简介

    Struts核心技术简介 1.Struts内部机制   Struts是一种基于MVC经典设计模式的开发源代码的应用框架,它通过把Servlet.JSP.JavaBean.自定义标签和信息资源整合到一个 ...

随机推荐

  1. [HZOI 2015]疯狂的机器人

    [题目描述] 现在在二维平面内原点上有一只机器人 他每次操作可以选择向右走,向左走,向下走,向上走和不走(每次如果走只能走一格) 但是由于本蒟蒻施展的大魔法,机器人不能走到横坐标是负数或者纵坐标是负数 ...

  2. [BZOJ]1069: [SCOI2007]最大土地面积

    题目大意:给出二维平面上n个点,求最大的由这些点组成的四边形面积.(n<=2000) 思路:求出凸包后旋转卡壳枚举对踵点对作为四边形的对角线,枚举或二分另外两个点,复杂度O(n^2)或O(nlo ...

  3. poj 3070 Fibonacci 矩阵快速幂

    Description In the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥ 2. F ...

  4. 凸包(BZOJ1069)

    顶点一定在凸包上,我们枚举对角线,观察到固定一个点后,随着另一个点的增加,剩下两个点的最优位置一定是单调的,于是就得到了一个优秀的O(n^2)做法. #include <cstdio> # ...

  5. 测试修改gcs_server_processes参数

    RAC部署前提是要求各节点的主机硬件一致的,但实际如果碰上一些不规范的客户,经费有限或是扩容时已买不到同样的机器,那么采购的机器会有一些区别,比如RAC各节点的CPU核数有区别,那么默认的gcs_se ...

  6. rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份

    一.服务环境 (1),WEBserver(192.168.10.130) : BACKserver(192.168.10.129) (2),BACKserver服务器部署,安装所需软件,并启动 (3) ...

  7. 初识Redis系列之四:.net使用Redis存储数据

    首先Redis在Windows上的安装前面的文章已经介绍过,这里不介绍了,直奔主题, 直接来看看.net怎么使用Redis 首先需要引用redis相关的dll,两个途径,意识网上下载编译好的dll : ...

  8. Angular5学习笔记 http请求

    在anular4更新到angular5后,有些模块也发生了有些变化,例如http模块. 首先在app.module.ts里面引入HttpClientModule import { HttpClient ...

  9. EXISTS的使用详解

    .exists的使用场合: exists 用于只能用于子查询,可以替代in,若匹配到结果,则退出内部 查询,并将条件标志为true,传回全部结果资料,in 不管匹配到匹配不到都 全部匹配完毕,使用ex ...

  10. 转:rabbitMQ 安装与管理

    安装环境 虚拟机:VMware® Workstation 10.0.1 build Linux系统:CentOS6.5 官方安装:http://www.rabbitmq.com/install-rpm ...