本帖最后由 xwj1003 于 2010-06-09 10:16:20 编辑

解决方案 »

  1.   

    .. 动态方法调用 感叹号后面本来就是要跟方法名的  也就是DeleteUser!doDefault.action 这种写法,
    这个不是bug喔!~   你这样搞DeleteUser!default.action的话, 你的action没有default方法,当然nosuchmethod
      

  2.   


    注意:如果没有这句addActionError("test"); 就不会报错,正常进入doDefault()。还有struts2自动把default这些JAVA关键字转到 doDefault() 方法。
      

  3.   

    至于你说的什么default关键字之类确实没研究过, 你按正规搞法不就得了.? 何必搞些花样呢.? 对吧!
    人家告诉你动态方法调用时actionName!methodName, 这样用不出问题就这样用呗.!
      

  4.   

    这算不算BUG啊?我以前用过webwork,没这个问题
      

  5.   

    不算bug,设计的用法属于“契约式规定”,可以去看看源码咋调用的。
      

  6.   

    有什么错啊?
    你没看struts2的方法定义吗?
    连人家的运行流程都没搞清楚,不要随便就说别人有BUG校验方法中只有加入任何一种error(actionerror/fielderror)都会使action进入异常处理流程,而不是正常运行流程
      

  7.   

    没有error(actionerror/fielderror)时,能找到doDefault()方法,
    有error时,则找不到doDefault()方法,这是2个没有关系的错误
    就算action进入异常处理流程,和查找方法名有什么关系?
      

  8.   

    还没弄明白那。。
    校验方法只有error,就不会进具体的方法
    去看文档怎么写的吧
      

  9.   

    还在研究struts2,没这样倒腾过
      

  10.   


    是没明白,验证失败,不进入具体方法,也不应该抛出nosuchmethod这个方法吧?奇怪。