Struts2的Action继承ActionSupport时,利用AOP来拦截Action出现NoSuchMethodException


参考:http://zhanghua.1199.blog.163.com/blog/static/46449807201111139501298/

做项目的时候,由于要用到在Struts2的Action类中利用Spring的AOP来实现记录操作日志,

在Action里面的方法中加上自定义annotation来实现记录操作功能,

运行的时候页面提示NoSuchMethodException when Aspec,

网上说是Action继承了ActionSupport导致的,

后来在一个英文网站上找到了解决的方法,

只要在Spring的配置文件applicationContext中的<aop:aspectj-autoproxy/>改为<aop:aspectj-autoproxy proxy-target-class="true"/>就可以了。

 

第一步:

在struts2的配置文件里加上以下一句:

//让struts2始终先考虑spring的自动装箱
<constant name="struts.objectFactory.spring.autoWire.alwaysRespect" value="true" />

 

第二步:

在配置AOP时,加上

<aop:aspectj-autoproxy proxy-target-class="true"/>//关键是这句话,配置上就行了,

 

英文原文:http://forum.springsource.org/showthread.php?t=51758


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM