Jsf 2 JSF中未捕获的异常处理
我正在尝试创建一个过滤器来处理异常(请参阅) 我执行以下方法:Jsf 2 JSF中未捕获的异常处理,jsf-2,exception-handling,Jsf 2,Exception Handling,我正在尝试创建一个过滤器来处理异常(请参阅) 我执行以下方法: <p:commandButton value="Dispatch Order" update="@form" action="#{orderBean.dispatchOrder()}"> </p:commandButton> 我做错了什么?这个老问题是针对JSF 1.x的,当您发送JSF 2.x ajax请求时,答案不适用。只有在将ajax=“false”添加到或使用标准JS
<p:commandButton value="Dispatch Order" update="@form"
action="#{orderBean.dispatchOrder()}">
</p:commandButton>
我做错了什么?这个老问题是针对JSF 1.x的,当您发送JSF 2.x ajax请求时,答案不适用。只有在将
ajax=“false”
添加到
或使用标准JSF
而不使用
时,才会调用过滤器。为了处理ajax请求上的异常,您需要一个自定义
另见:
BeanManager beanManager = BeanManagerProvider.getInstance()
.getBeanManager();
beanManager.fireEvent(catchEvent);
以下是您需要执行的操作的摘要:
编辑:BalusC的建议是一个很好的轻量候选,它也有这样的味道:我得到了这个错误。web.xml或web-fragment.xml中需要HTTP 500或java.lang.Throwable错误页。两个都没有找到。我像showcase一样为java.lang.RuntimeException设置了错误页面。这是预期的吗?您指的是
FullAjaxExceptionHandler
?只需在web.xml
中设置HTTP 500或java.lang.Throwable
错误页面。另请参见其。是否可以在此处添加对OmniFaces的引用?
May 21, 2013 6:04:32 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{orderBean.dispatchOrder()}: MyException.....
BeanManager beanManager = BeanManagerProvider.getInstance()
.getBeanManager();
beanManager.fireEvent(catchEvent);