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

相关推荐

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    spring版本有2.0,2.5的,hibernate版本较多些至3.2,首先选版本就选择最优的,struts2没的选只有2.1.6版的,所以先导入struts2支持,然后是spring选的是2.0,问题就出在struts2中spring的插件上了,没有从MyEclipse...

    271个java需要用的jar包

    struts2-spring-plugin-2.3.15.3.jar struts2-struts1-plugin-2.3.15.3.jar struts2-testng-plugin-2.3.15.3.jar struts2-tiles-plugin-2.3.15.3.jar struts2-tiles3-plugin-2.3.15.3.jar tagsoup-1.2.1.jar tiles-...

    SSH框架部分常见面试题.pdf

    Spring 动态代理有两种实现方式:Java 实现动态代理和 CGLib 实现动态代理。 AOP AOP 是面向切面编程,用于管理跨切面的业务逻辑。 事务 事务是数据库操作的基本单位,事务有四大特征:原子性、一致性、隔离性、...

    springmvc和mybatis集成全部jar包(全)

    lib/struts2-core-2.0.11.jar lib/poi-3.11-20141221.jar lib/poi-excelant-3.11-20141221.jar lib/poi-ooxml-3.11-20141221.jar lib/poi-ooxml-schemas-3.11-20141221.jar lib/poi-scratchpad-3.11-20141221....

    JAVA设计模式

    在Java中,很多框架如Spring的AOP、Struts的Action都使用了模板方法模式。 13. 策略模式(Strategy):策略模式定义了一系列的算法,并将每一个算法封装起来,使它们可以相互替换,让算法的变化独立于使用算法的...

Global site tag (gtag.js) - Google Analytics