`

strust1 DispatchAction

 
阅读更多

今天刚刚看了DispatchAction觉得这个东西有点意思,所以就写点东西,通过它的名字我想应该可以明白它的作用了,用于分发的Action,主要的好处是把一些功能类似的Action放到一个Action中,通过传入的不同参数来觉得执行哪个操作.
    DispatchAction类是一个抽象类,它实现了父类(Action)的execute()方法,所以它的子类就不用来实现这个方法了,只需要专注与实际操作的方法,
     1.首先要一个DispatchAction的子类,它含有一些方法,login,logout,method1,
package examples;
                                                                               
package examples;
                                                                               
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.actions.*;



public class AccountAction extends DispatchAction {
    public ActionForward login(ActionMapping mapping,
                              ActionForm form,
                              HttpServletRequest request,
                              HttpServletResponse response)
    throws Exception {
        // 進行一些Login的邏輯
              return mapping.findForward("success");  

    }
                                                                               
    public ActionForward logout(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
    throws Exception {
        // 進行一些Logout的邏輯
              return mapping.findForward("success1");  

    }

    public ActionForward method1(ActionMapping mapping,
                                ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response)
    throws Exception {
        // 進行一些method1的邏輯
              return mapping.findForward("success");  

    }

    
}


 
      一定要注意在DispatchAction中你想执行的操作,都必须要有统一的参数(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response),是一个规定.
2.接下来是配置struts-config.xml
 
    <action path="/login"  type="examples.AccountAction" 
             name="logonForm"
             scope="request"
             parameter="action"
             input="/pages/dispatch1.jsp">
       <forward name="success" path="/pages/success.jsp" />
    </action>

    <action path="/logout"  type="examples.AccountAction" 
             name="logonForm"
             scope="request"
             parameter="action"
             input="/pages/dispatch1.jsp">
       <forward name="success1" path="/pages/success1.jsp" />
    </action>

   这里需要注意的就是parameter属性的值,因为这个值要和页面传来的参数对应.

3.再来看看JSP页 pages/dispatch1.jsp
 
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<html:link href="/DispathActionTest/login.do?action=login">login</html:link><br>
<html:link href="/DispathActionTest/logout.do?action=logout">logout</html:link>


    这里要注意几点,首先 ?后面的KEY要和struts-config.xml中的parameter相同,还有它的VALUE要是你在action的一个方法名字,这里方法名为login, 那么在程序运行时就是调用login的操作,如果是logout,那程序就调用logout的操作

分享到:
评论

相关推荐

    struts中dispatchAction用法

    1. **创建DispatchAction类**:首先,你需要继承自org.apache.struts.actions.DispatchAction,创建一个新的Action类。在这个类中,你需要定义一系列处理特定业务的方法,这些方法名将对应请求中的参数。 ```java ...

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

    1. **配置Struts DispatcherAction**:在Struts的配置文件(struts-config.xml)中,我们需要定义一个DispatchAction,每个方法对应一个具体的业务操作。例如,我们可以定义两个方法,一个用于获取总记录数,另一个...

    struts DispatchAction

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

    Struts 之 DispatchAction

    1. **配置struts-config.xml**:首先,在`struts-config.xml`中为`DispatchAction`创建一个配置项,指定它的类路径和映射URL。例如: ```xml ``` 2. **实现DispatchAction**:接下来,你需要创建一个继承...

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

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

    Struts_DispatchAction的使用

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

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

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

    Struts中等同于DispatchAction类方法

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

    Struts2常用标签&DispatchAction.rar

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

    struts+oracle实现DispatchAction类

    配置`DispatchAction`通常需要在struts-config.xml文件中定义一个action元素,并设置其class属性为`com.opensymphony.xwork DispatchAction`(或在Struts 1中为`org.apache.struts.actions.DispatchAction`)。...

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

    1. **Struts标签库**: Struts标签库提供了丰富的HTML和逻辑标签,使得开发者可以更方便地在JSP页面中进行UI开发。例如,`&lt;s:textfield&gt;`用于创建输入字段,`&lt;s:submit&gt;`用于提交表单,而`&lt;s:iterator&gt;`则用于遍历...

    struts1_详解

    - **分发Action**:`org.apache.struts.actions.DispatchAction`,允许根据不同的参数执行不同的方法。 - **转发Action**:`org.apache.struts.actions.ForwardAction`,用于隐藏JSP路径。 - **流下载Action**:`org...

    struts1.x技术课程讲解.pdf

    ### Struts1.x 技术课程讲解 #### 一、Struts1.x 概述 **Struts1.x** 是一款基于 Java Servlet 和 JSP 技术的企业级 Web 应用开发框架,它实现了 Model-View-Controller (MVC) 设计模式。此框架旨在简化 Web 应用...

    DispatchAction

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

    struts1实现文件上传

    4. **DispatchAction**:Struts1中的一个特殊Action,支持方法调度。 5. **FormFile**:用于封装文件上传数据的对象。 6. **HttpServletRequest** 和 **HttpServletResponse**:分别代表HTTP请求和响应对象。 #### ...

    菜鸟学struts1必备 API

    5. DispatchAction:Struts1提供的一种特殊Action,它将一个请求分发到多个子方法,提高代码可维护性。 二、主要组件详解 1. Controller:在Struts1中,Controller由StrutsServlet和ActionServlet实现,它们负责...

    struts 1的标签的用法详细

    Struts 1 是一个经典的Java Web开发框架,它主要用于构建基于MVC(Model-View-Controller)模式的应用程序。在Struts 1中,标签库是实现视图层与控制器层交互的重要工具,使得开发者可以方便地在JSP页面中处理用户...

    Struts Struts1例子Struts注意事项

    首先,Struts1的核心概念包括Action、ActionForm、ActionMapping和DispatchAction等。Action是处理用户请求的业务逻辑组件,它接收并处理由控制器转发的请求;ActionForm则用于封装表单数据,是Action和视图之间数据...

    struts1深入学习

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

    DispatchAction实例

    1. **创建子类**:首先,你需要创建一个继承自` DispatchAction `的Java类。在这个类中,你可以定义自己的业务逻辑方法,比如`executeSave()`、`executeDelete()`等。 ```java public class MyDispatchAction ...

Global site tag (gtag.js) - Google Analytics