java - 配置到jsf中的错误页面时出错?

标签 java javascript jsp jsf jsf-2

在我的项目中,当我的代码中出现特定错误时,我必须显示一个错误页面。
我在我的 header.xhtml 页面中添加了以下脚本。这个页面被添加到每个页面。所以无论何时发生错误,我都想显示错误页面。

<script type="text/javascript">
            A4J.AJAX.onExpired = function(loc, expiredMsg) {
                window.location = "../facelets/error/invalidSessionLogin.jsf";
            };

            A4J.AJAX.onError = function(req, status, message) {
                window.location = "../facelets/error/ajaxError.jsf";
            };
        </script>

但这行不通..
并且我在web.xml中也配置了500404错误,代码如下。

 <context-param>
        <description>Use this to suppress Facelets error page</description>
        <param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
        <param-value>false</param-value>
    </context-param>
     <error-page>
        <error-code>500</error-code>
        <location>/facelets/error/internalErrorHome.jsf</location>
    </error-page>
    <!-- if required page not available -->
    <error-page>
        <error-code>404</error-code>
        <location>/facelets/error/pageNotFoundErrorHome.jsf</location>
    </error-page>

但这给了我以下错误。

11:41:30,618 ERROR [[localhost]] Exception Processing ErrorPage[errorCode=404, location=/facelets/error/pageNotFoundErrorHome.jsf]
com.sun.faces.context.FacesFileNotFoundException: /facelets/error/pageNotFoundErrorHome.xhtml Not Found in ExternalContext as a Resource

我不知道我哪里错了.. 我不明白错误 Not Found in ExternalContext as a Resource

最佳答案

  1. 您应该测试您提到的路径是否可达,如果路径不可用,请先修复路径。

  2. 为什么不为这些错误代码创建一个导航案例,然后设置适当的 URL 而不是使用相对路径。

    window.location = "${request.contextpath}/error/404";

例如考虑:

   mywebapp
   |
   |---WEB-INF 
   |
   |---error
   |    |
   |    |---404.xhtml

  (and so on)

在 web.xml 中:

 <error-page>
     <error-code>404</error-code>
     <location>/error/404.xhtml</location>
 </error-page>

对于 500 错误代码也是类似的。

关于java - 配置到jsf中的错误页面时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17080446/

相关文章:

java - 我正在以输入的相反顺序显示 java 数组的内容,但只显示了一半的数组

Java 数组销毁

java - 使用按钮从另一个类中的数组填充 JTextArea

java - jar 文件捆绑后获取 Java 系统输出(通过 MAC 中的 AppBundler)

javascript - 尝试获取所选选项的值(value)

asp.net - 检测 ASP.NET 中客户端 DOM 更改服务器端 : Is It Possible?

javascript - 什么版本控制软件最适合纯 HTML/CSS/JavaScript 网站?

java - 尝试打开一个简单的 JSP 文件会产生 HTTP Status 500

javascript - 将字符串变量从java传递到jsp

java - 无法显示隐式 EL(表达式语言)范围对象