我已经通过 google 和 stackoverflow 进行了搜索,但找不到任何与我类似的问题。
在我的项目中,我正在正确处理 ViewExpiredException 并向用户显示当前会话已超时的自定义页面。这很好用,但我想在此消息显示给用户之前做一些事情。实际上,我在这里使用 2 个不同的会话,一个在前端,一个在后端,所以这个想法是在当前会话超时时不启动新的后端会话。当我在 doFilter 方法中时,是否有可能获取 ViewExpiredException,所以我不启动新的后端会话(只是因为不需要它)?或者还有其他方法吗?
我已经尝试通过获取当前上下文
FacesContext fc = FacesContext.getCurrentInstance();
但显然上下文为空,因为会话超时。在 ExceptionHandlerWrapper 中,我可以访问 UnhandledExceptionQueuedEvents,但这对我没有帮助,因为我之前需要这些信息。
我希望我的问题足够清楚。
提前感谢您的帮助!
问候塞巴斯蒂安