0 0

Struts2 chain 与 Spring AOP CGLIB代理 问题5



[b异常信息 exception[/b]
Struts Problem Report

Struts has detected an unhandled exception:

Messages:	
com.fanbaobao.presentation.action.system.RoleAction cannot be cast to com.fanbaobao.presentation.action.system.MenuAction
Stacktraces

java.lang.ClassCastException: com.fanbaobao.presentation.action.system.RoleAction cannot be cast to com.fanbaobao.presentation.action.system.MenuAction
    com.fanbaobao.presentation.action.system.MenuAction$$FastClassByCGLIB$$57d8df08.invoke()
    org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:698)
    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
    org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:631)
    com.fanbaobao.presentation.action.system.MenuAction$$EnhancerByCGLIB$$2903043f.queryMenuList()
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
    com.fanbaobao.presentation.interceptor.AuthInterceptor.intercept(AuthInterceptor.java:32)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)



代码 code:
 <action name="addRoleMenu" class="xxx.action.system.RoleAction" method="addRoleMenu">
    	 <param name="operation">-1</param>
    	 <result name="init" type="chain">
            <param name="namespace">/system</param>
    		<param name="actionName">queryMenuList</param>
    	 </result>
    </action>


 <action name="queryMenuList" class="xxx.action.system.MenuAction" method="queryMenuList">
   	 	<result name="success">/system/menu_list.jsp</result>
   	 	<result name="operation">/system/role_menu_add.jsp</result>
    </action>
2014年8月05日 15:00

1个答案 按时间排序 按投票排序

0 0

猜测下,估计是你的result路径里面都有system的原因,换下试试。

2014年8月06日 15:37

相关推荐

Global site tag (gtag.js) - Google Analytics