使用dispatchAction简化对action的请求操作

原创 2006年06月14日 21:06:00
struts-config:      
<action
             path="/hello"
             type="onlyfun.caterpillar.HelloAction">
             <forward
                 name="helloUser"
                 path="/WEB-INF/pages/hello.jsp"/>
</action>  
当我们提交一个do(hello.do)的请求的时候,就会呼叫我们所定义的action(onlyfun.caterpillar.HelloAction),直接进行请求转发,通过获取forward name转发到我们所定义的path中,每次都会执行一个forwardAction。
    请求转发的定义我们可以通过两种方法:
1、通过定义一个操作符(如opp),通过页面传递给action,如 http://localhost:8080/strutsapp/account.do?hello.do?opp=login&$其他参数$ ,然后在action中判断opp的操作:
String opp=getParameter("opp");
if(opp="login"){
<!--定义操作-->
return mapping.findForward("helloUser");
}
2、在struts中有自带的一个分发处理--dispatchAction:
在struts-config.xml中
 <action      path="/account"      type="onlyfun.caterpillar.AccountAction"      parameter="method"      name="userForm">     
<forward          name="greeting"          path="/WEB-INF/pages/greeting.jsp"/>  </action>
定义了一个参数parameter(在此定义为method
我们要实现登陆功能,在action中的定义函数Login():
public class AccountAction extends DispatchAction {    
    public ActionForward login(ActionMapping mapping,                              
    ActionForm form, HttpServletRequest request, HttpServletResponse response)          throws Exception {       
<!--login的操作-->
 ......    
}
调用login方法可以用
http://localhost:8080/strutsapp/account.do?method=login
总的来说,第二种方法更容易实现模块化管理

相关文章推荐

在struts1中使用DispatchAction对应多个ActionForm,实现写一个Action实现增删改查操作---一个Action处理多个操作的能力

先来了解DispatchAction类: 原始的配置action都是使用一个Action类实现一个功能,当工程项目很大的时候,Action类数目会很多,导致代码文件膨胀,这就增加了该项目后期的维护难度...
  • lycyl
  • lycyl
  • 2015年05月19日 11:24
  • 1208

Struts1.x系列教程(18):使用DispatchAction类调用多个Action方法

在使用Struts动作时,每一个Action都需要编写一个类,并且要在struts-config.xml进行配置。这对于一个拥有很多Action的Web程序来说,工作量是非常大的。为此,Struts提...

Struts1应用、实现简单计算器、使用DispatchAction、显示友好的报错信息、使用动态Form简化开发

实现简单的支持加、减、乘、除的计算器 复制一份Struts1Demo修改:Struts1Calc 方案1: Struts1Calc 创建4个Action,在页面中,通过JavaScript控制提交到不...

Struts(7)Struts的DispatchAction(分派Action)和全局跳转

1 为什么需要DispatchAction?如果每个请求对应一个Action,就会造成Action过多,程序显得比较臃肿,因此程序需要减肥(可以把一类请求写到一个Action中处理),这样程序比较简洁...

通过formFile实现上传文件,图片,或者其他,struts中继承action和dispatchAction的区别和用法

index.jsp页面 //采用action中默认execute的方法      "/WebTest/upload.do"  method  ="post" enctype="mult...

Struts_DispatchAction的使用

  • 2008年10月17日 17:56
  • 20KB
  • 下载

Stuts2 使用DispatchAction做一个简单的计算器

"java" pageEncoding="GB18030"%>    "-//W3C//DTD HTML 4.01 Transitional//EN">            calculator.j...

struts1.3中使用DispatchAction的一个问题

最近做项目发现我们公司的项目是用struts1写的,在多方百度下,总有理解了struts1.3的DispatchAction的用法 一:struts.xml文件的配置 ...

Struts1.3-DispatchAction类-根据请求参数实现业务分派

本文将着重来理解下org.apache.struts.actions.DispatchAction类。 在有些时候一个Action可能有多种操作,比如查询,增加,删除等,都集中在了一个Actio...
  • EthanQ
  • EthanQ
  • 2012年03月11日 10:45
  • 2976

动态方法调用和使用通配符实现类似struts1.x的dispatchAction功能

Struts1中通过继承DispatchAction类和struts-config.xml中配置parameter参数调用Action中的任意方法,那么Struts2也提供了类似的功能,主要有两种方式...
  • xh16319
  • xh16319
  • 2012年10月05日 21:33
  • 1433
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用dispatchAction简化对action的请求操作
举报原因:
原因补充:

(最多只允许输入30个字)