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. [HNOI 2003]激光炸弹

    Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n个目标,用整数,表示目标在地图上的位置,每个目标都有一个价值.激光炸弹的投放是通过卫星定位的,但其 ...

  2. [HNOI2009]有趣的数列

    题目描述 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满足a1<a3<...<a2n ...

  3. NOIP 2013

    Prob.1 转圈游戏 找到循环节,然后快速幂.代码: #include<cstdio> #include<cstring> #include<iostream> ...

  4. UESTC 618 无平方因子数 ( 莫比乌斯)

    UESTC 618 题意:求1到n中无平方因子数的个数 Sample Input 3  1  10  30 Sample Output 1  7  19 思路:与前面的BZOJ 2440相似 #inc ...

  5. face-alignment:用 pytorch 实现的 2D 和 3D 人脸对齐库

    使用世界上最准确的面对齐网络从 Python 检测面部地标,能够在2D和3D坐标中检测点. 项目地址:https://github.com/1adrianb/face-alignment 作者: 阿德 ...

  6. 阿里技术一面,Java研发岗

    之前过了个简单的简历面,过了几天后没打来以为凉了,然后昨晚又接到了电话,括号内容是回答说的,理解有限,不一定都对,欢迎纠正-加油每一个牛友们! 阿里一面: 1.学过哪些技术知识呢? 2.说说接口和抽象 ...

  7. React Suite v3.0 正式版发布

    React Suite v3.0 正式版发布 相信很多人会好奇,React Suite 是什么? React Suite 是 HYPERS 前端团队和 UX 团队开源的一套基于 React 的 UI ...

  8. node的异常处理

    Node是单线程运行环境,一旦抛出的异常没有被捕获,就会引起整个进程的崩溃.所以,Node的异常处理对于保证系统的稳定运行非常重要. node的处理方法: 1.使用throw语句抛出异常 常用的捕获异 ...

  9. tree的遍历--广度优先遍历

    一.二叉树demo var tree = { value: '一', left: { value: '二', left: { value: '四', right: { value: '六' } } } ...

  10. 初识Redis系列之二:安装及简单使用

    仅介绍windows下的安装 一:下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你系统平台的 ...