`
sakakokiya
  • 浏览: 516028 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts中DispatchAction和Action类有什么不同?

阅读更多
DispatchAction是Struts包含的另一个能大量节省开发时间的Action类。与其它Action类仅提供单个execute()方法实现单个业务不同,DispatchAction允许你在单个Action类中编写多个与业务相关的方法。这样可以减少Action类的数量,并且把相关的业务方法集合在一起使得维护起来更容易。
要使用DispatchAction的功能,需要自己创建一个类,通过继承抽象的DispatchAction得到。对每个要提供的业务方法必须有特定的方法signature。例如,我们想要提供一个方法来实现对购物车添加商品清单,创建了一个类ShoppingCartDispatchAction提供以下的方法:
public ActionForward addItem(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){
throws Exception;
}
那么,这个类很可能还需要一个deleteItem()方法从客户的购物车中删除商品清单,还有clearCart()方法清除购物车等等。这时我们就可以把这些方法集合在单个Action类,不用为每个方法都提供一个Action类。
在调用ShoppingCartDispatchAction里的某个方法时,只需在URL中提供方法名作为参数值。就是说,调用addItem()方法的 URL看起来可能类似于:
http://myhost/storefront/action/cart?method=addItem
其中method参数指定ShoppingCartDispatchAction中要调用的方法。参数的名称可以任意配置,这里使用的”method”只是一个例子。参数的名称可以在Struts配置文件中自行设定。
分享到:
评论

相关推荐

    struts中dispatchAction用法

    DispatchAction是Struts提供的一个可扩展的Action类,它允许开发者将一个单一的Action类拆分成多个子方法,每个子方法处理特定的业务逻辑,从而提高了代码的组织性和可维护性。 DispatchAction的工作原理是通过...

    struts DispatchAction

    总之,Struts DispatchAction是Java Web开发中一种有效的请求分发机制,它允许在一个Action类中组织和管理多个业务处理方法,提高了代码的可读性和可维护性。然而,随着技术的发展,如Struts2的出现,开发者可以选择...

    Struts中等同于DispatchAction类方法

    在早期的Struts版本中,`DispatchAction`类是一个核心组件,它允许我们通过单一的Action类处理多个请求,通过在请求URL中指定不同的方法名来调用不同的业务逻辑。 标题提到的"Struts中等同于DispatchAction类方法...

    struts+oracle实现DispatchAction类

    在这个例子中,如果请求URL包含`doSomething.action?method=save`,那么`MyDispatchAction`的`save`方法会被调用。 接下来,我们讨论如何结合Oracle数据库。Oracle是一种广泛使用的、功能强大的关系型数据库管理...

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

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

    Struts 之 DispatchAction

    `DispatchAction`是Struts提供的一个扩展自`Action`类的预定义动作,它的主要目的是通过不同的方法来处理来自客户端的请求,而不是像标准的`Action`那样只有一个处理所有请求的方法。这种设计使得代码结构更清晰,更...

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

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

    DispatchAction

    与`DispatchAction`不同,`MappingDispatchAction`允许开发者通过XML配置文件来指定请求到方法的映射,而不是硬编码在Action类中。这样,开发者可以根据业务需求自由地定义请求参数与方法的映射关系,提高了代码的...

    Struts2常用标签&DispatchAction.rar

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

    DispatchAction实例

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

    struts面试

    - **DispatchAction**: 是Struts提供的另一种Action类型,它支持在一个Action类中定义多个业务方法,每个方法都可以处理不同的请求。 2. **实现方式**: - **普通Action**: 实现`Action`接口,重写`execute()`方法...

    JavaEE框架 Struts_In_Action(中文版)

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

    struts1.2实现计算器示例

    1. **Action类**:这是`DispatchAction`的子类,包含了多个处理不同计算操作的方法,如加法、减法、乘法和除法。每个方法处理特定的计算请求,然后将结果存储在`ActionForm`对象中,供视图层使用。 2. **ActionForm...

    DispatchAction、LookupDispatchAction、SwitchAction的应用

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

    org.apache.struts缺少所需包

    import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.apache.struts.actions.DispatchAction等缺少

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

    DispatchAction是Struts提供的一个扩展Action类,它允许在一个Action类中实现多个业务处理方法,从而解决了创建大量Action类的问题。通常,一个Action类只有一个execute()方法,但通过DispatchAction,我们可以根据...

    struts2学习笔记

    在Struts1中,Action类通常需要继承自某个抽象类,如DispatchAction,而Struts2则支持基于接口编程。开发者可以选择让Action类实现Action接口,也可以实现其他接口,提供更多的可定制性。Struts2提供了一个...

    STRUTS中文文档.rar

    Action类处理用户请求,Form Bean存储表单数据,DispatchAction用于分发请求到不同的业务逻辑方法,而Forward则定义了请求转发的路径。 "struts的结构.doc"文档应该详细介绍了Struts框架的基本架构,其中包括Action...

    Struts之进阶篇.pdf

    本文主要聚焦于Struts框架中的几个关键概念:Map-backed ActionForm、Action类层次结构、标准桥式Action类(如DispatchAction)以及它们的工作原理。 ### Map-backed ActionForm #### 1. 概念介绍 从Struts 1.1...

Global site tag (gtag.js) - Google Analytics