日期:2014-05-18  浏览次数:20683 次

在filter中抛出的异常为何不能正确显示
我想把原先放在action中的session验证功能放在filter中,但在action中抛出异常时能正确地显示到jsp页面,但放到filter中抛出的异常就不能正常显示了,这是为何,代码如下:
UserBean   ub=(UserBean)   session.getAttribute(BusinessDef.SESSION_USERBEAN);
  if   (ub==null)   {
                        CauseBean   causeBean   =   new   CauseBean(this,   "execute() ");
                        ActionError   error   =   new   ActionError(MessageDef.ERRORS_SESSION.toString());
                        throw   new   ApplicationRuntimeException( "Session无效 ",   causeBean,   error);
                }

------解决方案--------------------
ActionError应该是struts的一个组件,你在访问action的时候请求被filter拦截(其实根本还没到达ActionServlet)然后抛了一个异常,程序中断了。在这里ActionError应该是不起什么作用的,因为它脱离了struts~
------解决方案--------------------
struts中有自己的拦截器可以实现过滤的功能
------解决方案--------------------
关注