求助:NoSuchMethodException问题

bhwhy 2009-05-26 02:45:17
错误:
ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ibj].[jsp] - servlet jsp Servlet.service()
java.lang.NoSuchMethodException: sparcs.common.action.DefaultPageInitializeAction$$EnhancerByCGLIB$$6c66876f.process(sparcs.common.servlet.GParameter, sparcs.common.data.GResultData)
at java.lang.Class.getMethod(Class.java:1581)
at sparcs.common.action.GActionInvokerImpl.invoke(GActionInvokerImpl.java:35)
at sparcs.common.action.GActionInvokerImpl.invoke(GActionInvokerImpl.java:70)

类:GActionInvokerImpl的35行:Method method = clazz.getMethod(methodName, paramTypes);
其中clazz是得到的代理类,实现了net.sf.cglib.proxy.MethodInterceptor接口,
自己写了个tag,在其中利用代理:
invoker.invoke(className, PROCESS_METHOD, parameter, resultData);
className是类DefaultPageInitializeAction,方法是process,
我查了半天也没有查出来,所有的方法都设定public,返回代理类的方法:
GActionProxy callback = new GActionProxy(action, methodName);
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(action.getClass());
enhancer.setCallback(callback);
return enhancer.create();
但是到Method method = clazz.getMethod(methodName, paramTypes);报错,找不到方法,我跟踪了这时代理前的类名是DefaultPageInitializeAction
和方法名是process,都是存在的啊,为何返回代理类后报错找不到呢。。
高手指点下

...全文
345 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoxikuaile 2009-05-27
  • 打赏
  • 举报
回复
我一步一步跟踪一下,看能不能找到那个方法!
Sou2012 2009-05-27
  • 打赏
  • 举报
回复
非静态? public 的?
netqiqi 2009-05-27
  • 打赏
  • 举报
回复
找不到这个方法,看看有没有这个方法。或者你没有没申明实例,那个方法又不是静态的。
bhwhy 2009-05-26
  • 打赏
  • 举报
回复
真的没有写错啊。我都对照好几遍了。
上面的兄弟是什莫意思啊。
  • 打赏
  • 举报
回复
return enhancer.create();
laorer 2009-05-26
  • 打赏
  • 举报
回复
我估计是 方法名写错了,你仔细对照下

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧