怎样让struts2打印错误堆栈?

使用struts2时,如果dao部分产生错误,错误堆栈不是在Eclipse的控制台窗口打印,而是在struts2自定义的错误页面显示。(struts.devMode=true)
如何设置让它在Eclipse的控制台窗口打印,这样可以快速定位。

以上这个不是主要问题,更严重的是在调用了自己写的拦截器后,
dao中的错误会被包装,然后根本不打印错误信息
只会在拦截器的 return invocation.invoke(); 语句报空指针异常,这样根本就无法定位错误的位置
怎样设置能让它打印出所有的原始错误堆栈呢

[code="java"]


true

[/code]

struts.devMode=false

并且在Interceptor Stack的配置中,去掉 ExceptionInterceptor。

(不建议这样做。)

ExceptionInterceptor默认位于defaultStack的顶部,它能够捕捉到后续所有的异常,然后根据你的Sturts的配置文件,找到与 该类型的Exception匹配的result,然后转向到这个result。

是一项很好的功能,所以不建议去掉!

参考官方文档:

[url]http://struts.apache.org/2.1.8.1/docs/exception-interceptor.html[/url]

自定义拦截器堆栈(如下代码)。这样定义自己的堆栈后,在action中使用自己的拦截器堆栈myStack

[code="xml"]













dojo..*



input,back,cancel,browse


input,back,cancel,browse

[/code]

解释下:上面是将默认拦截器堆栈defaultStack里的 拦截器去掉。

这样所有的异常在Eclipse控制台显示。