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