今天在看org.apache.struts.actions.DispatchAction类,该类的功能是在同一个Action类中完成一组相关操作.相同数量的JSP页面,相同的FormBean,唯一不同的就是Action类只有一个.表单验证仍然放在FormBean或动态ActionForm;业务逻辑仍然放在Action类中,就是***Action.java文件只有一个.好像也没体现出减少重复编程嘛!!!引入DispatchAction类有必要嘛?
请大家帮我分析分析.
请大家帮我分析分析.
第二:层次分明,一个模块对应一个DispatchAction,方便管理。(配置文件不会显得凌乱) lz,真会学习啊!
根据参数来调用不同的action. 这样做做到条理比较清晰.
其实也可以一个Action写一个execute, 在页面上自己设一个参数, request.getParameter("参数名"); 得到这个参数名之后. 根据参数名来调用不同的方法也达到DispatchAction的目的.
那么jsp页面的按钮就是:
url?method=add =========>>>> 进入DispatchAction类里面调用add()方法;
url?method=edit =========>>>> 进入DispatchAction类里面调用edit()方法;
url?method=del =========>>>> 进入DispatchAction类里面调用del()方法;
url?method=queryList =========>>>> 进入DispatchAction类里面调用queryList()方法;所以作用就是 功能方法化,明白了吧?
页面设参数,通过参数判断在Action中调用相应方法.多了个参数判断,当参数值比较多的时候,代码就不够美化了,条理也会模糊;这样,显然就没有DispatchAction来的直接:直接用method中的参数自动调用参数对应的函数.