我在@ViewScoped mananged bean上有一个init方法。在后构造我加载数据从数据库。我有一个自定义ExceptionHandlerWrapper来捕获所有附加信息并发送到错误页面。然而,当@PostConstuct抛出一个异常,我收到一个IllegalStateException,并没有重定向到错误页面。我已经尝试了多种组合.....在@PostConstruct中引发的异常在JSF 2.1中导致IllegalStateException
我用尽我这ExcpetionHandler
externalContext.getRequestMap().put(ERROR_BEAN_ID, ERROR_TEXT);
externalContext.dispatch(ERROR_PAGE);
fc.responseComplete();
内部下面这行是什么原本我。它还doent工作
externalContext.getFlash().put(ERROR_BEAN_ID, ERROR_TEXT);
nav.handleNavigation(fc, null, ERROR_PAGE);
fc.renderResponse();
这些都导致IllegalStateExceptions。我也叫同样的结果重定向。
您可以全局捕获@PostConstruct引发的错误吗?
谢谢。是的“响应已经提交”是错误取决于我是否使用重定向/调度。我刚刚删除了preRenderView的使用,因为我动态配置了来自db和f:validateBean等的元数据的页面,并且f:标记在调用preRenderView之前被初始化。从而导致页面验证无法正常工作。所以如果我需要预先加载的数据,将配置视图和全局异常处理我坚持与缓冲区解决方案? – user1147953 2012-03-24 02:15:45