gpt4 book ai didi

java - 在 JSF 页面中显示错误并继续呈现它而不是重定向到单独的错误页面

转载 作者:行者123 更新时间:2023-12-04 06:50:22 25 4
gpt4 key购买 nike

每当加载 JSF facelet 期间出现错误时,JSF 都会在出现错误时停止呈现页面并改为显示错误页面(默认行为)。我希望 JSF 继续呈现页面并在页面内显示异常/错误。例如,如果页面正在加载引发异常的“portlet”,则该异常将在 portlet 中显示为文本。我不希望将整个页面转发到单独的错误页面。

我已经初始化了我自己的 ExceptionHandlerFactoryExceptionHandler实现,我可以遍历 ExceptionQueueEvents成功。但是,尽管出现错误,我不知道如何指示 JSF 继续加载页面。这甚至是正确的方法吗? ExceptionHandler 是在处理 facelet 之后(如我所想)还是在中间调用?如果之后,我可以在我的 ExceptionHandler 内做些什么吗? ?

我知道我应该:

  • 隐藏用户无法访问的部分(我的具体案例与安全有关,当用户尝试加载他无权访问的内容时。但是,我正在寻找对此的全局答案)
  • 手动处理错误,以免引发意外异常

  • 但是,我希望用户能够继续使用该系统,尽管出现了一些小组件故障(例如,如果某个新闻源 portlet 抛出一个不应阻止用户查看其他内容并使用它的错误)。

    我正在使用 Mojarra 2.0.2。我觉得这是一个很容易解决的问题,但我无法弄清楚:(

    最佳答案

    这样做意味着您向最终用户提供了一个半生不熟的 HTML 页面(因为 JSF 还没有(也不能)完成 HTML 呈现)并且未指定 Web 浏览器将如何显示该页面。

    不要这样做。

    关于java - 在 JSF 页面中显示错误并继续呈现它而不是重定向到单独的错误页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3211503/

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