gpt4 book ai didi

jsf-2 - JSF 中未捕获的异常处理

转载 作者:行者123 更新时间:2023-12-04 04:56:37 26 4
gpt4 key购买 nike

我正在尝试创建一个过滤器来处理异常(见 Handling Uncaught Exception in JSF)

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
try {
log.info("check filter is running");
chain.doFilter(request, response);
} catch (Exception e) {
log.error("Uncaught exception",e);
request.setAttribute("exception", e);
request.getRequestDispatcher("/error.xhtml").forward(request, response);
}
}

我执行以下方法:
    <p:commandButton value="Dispatch Order" update="@form"
action="#{orderBean.dispatchOrder()}">
</p:commandButton>

但是,没有处理异常。

我在日志中看到错误:
May 21, 2013 6:04:32 PM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{orderBean.dispatchOrder()}: MyException.....

我做错了什么?

最佳答案

那个老问题是针对 JSF 1.x 的,当您发送 JSF 2.x ajax 请求时,答案不适用。只有在您添加 ajax="false" 时才会调用您的过滤器到 <p:commandButton>或使用标准 JSF <h:commandButton>没有 <f:ajax> .为了处理 ajax 请求的异常,您需要一个自定义 ExceptionHandler .
另见:

  • What is the correct way to deal with JSF 2.0 exceptions for AJAXified components?
  • 关于jsf-2 - JSF 中未捕获的异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16675663/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com