action是对于执行单个方法来使用的
dispatchaction是针对执行多个方法来使用的
不知说的对否

解决方案 »

  1.   

    为了减少重复操作 使应用更加便于维护 让一个Action来完成一组相关业务 这就是DispatchAction
      

  2.   

    例如你页面上有2个操作按钮.一个是添加数据的.一个是删除.
    如果只用普通的action里只能执行单个方法.
    而用DispatchAction.可以同时把俩个方法放在一个action里。
      

  3.   

    我个人见解:
    1.首先两个都是页面跳转
    2.Action的话要写具体是哪个请求过来,接受时候得到的方法名字进行判断进入哪个方法,DispatchAction的话是继承了Action .具体的方法名字是在配置文件上已经处理好了,这里只需要写具体的处理业务,不需要对传过来的参数进行判断3.个人偏向爱好DispatchAction,因为只需要在配置文件上改动就可以处理业务,重用性高.适合二次开发
      

  4.   

    DispatchAction可以使同一个action调用不同的方法,调用的方法名写在请求后,即method=方法名
      

  5.   

    如果使用继承Action,则Action里面只能又一个方法
    如果继承DispatchAction,则Action里面可以又多个方法,根据form表单提交的action="\action名?method=action中的方法名",其中action要在struts-config.xml文件的Action节点中指定parameter="method",
    总之就是根据form表单提交时的参数不同而执行action中的方法的不同,
    action则只有一哥方法,
    呵呵.....随便说以下
      

  6.   

    同意楼上的:
    如果使用继承Action,则Action里面只能又一个方法 
    如果继承DispatchAction,则Action里面可以又多个方法,根据form表单提交的action="\action名?method=action中的方法名",其中action要在struts-config.xml文件的Action节点中指定parameter="method", 
    总之就是根据form表单提交时的参数不同而执行action中的方法的不同, 
    action则只有一哥方法.
    Action好处:涤理清淅,每一个事件对应一个Action,缺点文件太多.项目大了.看起来让人头晕.
    DispatchAction在执行一项业务操作中.例如一个部门要有增,删,改,查,我们可以都写在一个Action中,开发人员修改起来很容易.
      

  7.   

    action是对于执行单个方法来使用的 
    dispatchaction是针对执行多个方法来使用的 便于二次开发
      

  8.   

    七楼,
    DispatchAction在执行一项业务操作中.例如一个部门要有增,删,改,查,我们可以都写在一个Action中,开发人员修改起来很容易.
    .
    .
    请问:
    那要如和处理ActionForm呢?能否讲详细一下谢谢
      

  9.   

    LS 说的都很清楚了
    其实 2个本质没什么区别
    稍微配置一下 ,在 普通的 action 配置里  加   parameter="method" 
    就OK 了 
    dispatchAction   其实就相当于把多个 ACTION  合在一个方法里如果用 STRUTS2  就不存在上面的问题了 
      

  10.   

    This Action is useful for developers who prefer to combine many similar actions into a single Action class, in order to simplify their application design.
      

  11.   

    一个Action中只能完成一种业务操作
    dispatchaction可以完成一组相关的几种业务操作