今天在看org.apache.struts.actions.DispatchAction类,该类的功能是在同一个Action类中完成一组相关操作.相同数量的JSP页面,相同的FormBean,唯一不同的就是Action类只有一个.表单验证仍然放在FormBean或动态ActionForm;业务逻辑仍然放在Action类中,就是***Action.java文件只有一个.好像也没体现出减少重复编程嘛!!!引入DispatchAction类有必要嘛?
请大家帮我分析分析.

解决方案 »

  1.   

      第一:避免struts-config.xml文件显得臃肿,减少加载时间。  
          第二:层次分明,一个模块对应一个DispatchAction,方便管理。(配置文件不会显得凌乱)  lz,真会学习啊!
      

  2.   

    嗯 ,struts-config.xml中一组应用只用一个action-mapping.加载时间是减少了!再问问1楼的,是不是企业应用都是用一个DispatchAction对应一个模块?DispatchAction平时用的多不多?
      

  3.   

    DispatchAction类实现Struts框架中的多业务处理操作.  在Struts-config.xml配置action时是要加参数的, 
    根据参数来调用不同的action. 这样做做到条理比较清晰.    
    其实也可以一个Action写一个execute, 在页面上自己设一个参数, request.getParameter("参数名"); 得到这个参数名之后. 根据参数名来调用不同的方法也达到DispatchAction的目的.
      

  4.   

    最大的作用是通过在struts-config.xml的action配置一个parameter=method参数,然后,在jsp页面根据参数值调用DispatchAction类里面的方法,比如:一个用户模块,有增加、修改、删除、查询功能,
    那么jsp页面的按钮就是:
    url?method=add         =========>>>>      进入DispatchAction类里面调用add()方法;
    url?method=edit        =========>>>>      进入DispatchAction类里面调用edit()方法;
    url?method=del         =========>>>>      进入DispatchAction类里面调用del()方法;
    url?method=queryList   =========>>>>      进入DispatchAction类里面调用queryList()方法;所以作用就是 功能方法化,明白了吧?
      

  5.   


    页面设参数,通过参数判断在Action中调用相应方法.多了个参数判断,当参数值比较多的时候,代码就不够美化了,条理也会模糊;这样,显然就没有DispatchAction来的直接:直接用method中的参数自动调用参数对应的函数.