struts中类继承了dispatchaction,我自己写了一些方法,比如add,del,search,没用execute方法,也能正常运行
但是我不知道我自己写的这些方法和那个execute方法有什么区别啊。我害怕以后会有什么麻烦啊

解决方案 »

  1.   

    通常,在一个Action中只能完成一种业务操作,如果希望在同一个Action类中完成一组相关的业务操作,可以使用DispatchAction类。
    比如对一个用户对象来说,存在增加、删除、修改的操作,一种设计方案是为每种业务操作创建独立的Action类,如addUserAction,delUserAction,updateUserAction。尽管这种设计方案是可行的,但是这三个Action在执行各自的任务中,可能会执行一些相同的操作,比如addUserAction和updateUserAction都要进行相同的数据验证。为了减少重复编程,使应用更加便于维护,可以由同一个Action类来完成一组相关的业务操作,DispatchAction就提供了这种功能
      

  2.   

    嗯,继承了dispatchaction,add,del,search,没用execute方法,但你的自定义的方法参数列表是和execute相同的啊,继承了dispatchaction是根据你传的参数值找相应的同名方法;配置上稍微有点不同坝了,但可以减少代码量...
      

  3.   

    dispatchAction是action的子类,用户可以自定义一些方法,而不用去重写execute()这个方法,在表单提交时只要指定method这个属性就可以根据不同的需要,执行dispatchaction中用户自定义的不同的方法了!
      

  4.   

    不会有什么问题的,好好理解一下DispathAction的作用
      

  5.   

    当你掉用你写的
    XXClass extends DispathAction
    的某个方法前,
    都会去调用 DispathAction
    的 execute 方法在这个方法里
    根据你传过来的参数来判断调用你写的类的具体方法
    这样可以较少 Action 的数量
    易于管理
      

  6.   

    不会出问题,dispacthAction就是干这个的,之所以用execute方法,是因为你以前没有用
    dispatchaction
      

  7.   

    直接点说就是你要用自己写的方法就得用dispatchaction; 你要是用execute 不能用自己写的方法.楼上的兄弟,你说我说的对吗?
      

  8.   

    不会有任何问题,execute只是个默认的方法
      

  9.   

    继承dispatchaction可以调用自己的方法,而继承ActionServlet只能调用execute方法,
      

  10.   

    dispatchAction得execute方法是其默认方法。是在action中没有传递parameter参数的时候执行的方法。