【发布时间】:2011-10-31 13:07:54
【问题描述】:
对于普通请求,我们可以在web.xml 中简单地注册一个<error-page>。但是,这不适用于 Ajax 请求。默认情况下,Ajax 请求期间的错误将导致浏览器中出现一个显示异常的小弹出窗口。
我正在努力解决的主要示例是以统一的方式处理ViewExpiredException。对于标准请求,我重定向到说明用户未登录并提供登录页面链接的页面。我想对 Ajax 请求做同样的事情。似乎有几种方法:
- 我可以编写一个 javascript 函数来处理客户端的错误并重定向到错误页面。然后我必须使用
onerror-attribute 添加这个函数所有页面上的每个<f:ajax>-tag。有没有办法告诉 JSF 我想将此 javascript-function 作为所有<f:ajax>-tags 的默认错误处理程序? - 我可以使用自定义异常处理程序,如this blog 中所述。这似乎做了我想要的,但我想知道它是否是矫枉过正。有没有更简单的解决方案?
所以我的问题是,这应该如何解决?应该使用我列出的哪些方法?还有其他我不知道的方法吗?
【问题讨论】:
标签: ajax error-handling jsf-2 glassfish-3 mojarra