求助: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,都是存在的啊,为何返回代理类后报错找不到呢。。
高手指点下