JSFPrimeFaces Ajax请求上的会话超时和ViewExpiredException处理

JSFPrimeFaces Ajax请求上的会话超时和ViewExpiredException处理,第1张

JSF / PrimeFaces Ajax请求上的会话超时和ViewExpiredException处理

默认情况下,ajax请求期间引发的异常在客户端完全没有反馈。仅当在项目阶段设置为

Development
并使用的情况下运行Mojarra时
<f:ajax>
,您才会获得带有异常类型和消息的纯Javascript警报。但是除此之外,在PrimeFaces中,默认情况下根本没有反馈。但是,您可以在服务器日志和ajax响应中(在Webbrowser的开发人员工具集的“网络”部分中)看到异常。

您需要实现一个自定义

ExceptionHandler
,该自定义
ViewExpiredException
在队列中存在时基本上完成以下工作:

String errorPageLocation = "/WEB-INF/errorpages/expired.xhtml";context.setViewRoot(context.getApplication().getViewHandler().createView(context, errorPageLocation));context.getPartialViewContext().setRenderAll(true);context.renderResponse();

另外,您可以使用JSF实用程序库OmniFaces。它有一个

FullAjaxExceptionHandler
出于这样的目的(源代码在这里,展示演示在这里)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4957438.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存