`
ghyghoo8
  • 浏览: 190187 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[转]Struts2+Spring 中使用AOP拦截execute方法,出现get方法空指针异常 分享

阅读更多
Struts2+Spring 中使用Spring AOP拦截execute方法,出现get方法NullPointerException 异常,无法获取页面信息,经N多次Google后解决。方法为:<aop:config proxy-target-class="true"> 强制一直使用CGLIB生成代理即可。大致原因是因为我使用了接口,在Action中就用的java的代理从而使get方法失效。具体细节我还不懂,望有高人指点。

    解决上述问题还有一方法就是不继承ActionSupport。但还是不知道为什么……估计需要研究一下源码。
分享到:
评论
1 楼 tianhandigeng 2012-07-04  
我已经这样配置了,但是还是报,我是这样写的:
public class ActionPreResultAdvice implements MethodInterceptor{

	public Object invoke(MethodInvocation invocation) throws Throwable {
		HttpServletRequest request = ServletActionContext.getRequest();
		Object returnValue = null;
		try {
			returnValue = invocation.proceed();
		} catch (Throwable throwable) {
			request.setAttribute("msg" , "出现异常");
			throwable.printStackTrace();
			return "exception";
		}
		
		return returnValue;
	}

}


然后在applicationContext.xml中这样配置:
<!-- 异常处理 -->
	<bean id="actionPreResultAdvice" class="net.ysccc.exception.ActionPreResultAdvice" />
	
	<aop:config>
		<aop:advisor pointcut="execution(* com.opensymphony.xwork2..*.*(..))"
			advice-ref="actionPreResultAdvice"/>
	</aop:config>


就报错了,请问一下有什么问题吗?

相关推荐

Global site tag (gtag.js) - Google Analytics