jsf标记未在错误页面中呈现

时间:2013-05-22 21:27:36

标签: java jsf-2 web.xml oracle-adf jdeveloper

我在web.xml中配置了HTTP 404错误的错误页面,如下所示

<error-page>
<error-code>404</error-code>
<location>/Common/error.jspx</location>
</error-page>

Faces Servlet配置如下

<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>

我的错误页面(error.jspx)看起来像这样

<?xml version='1.0' encoding='UTF-8'?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.1" xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html" xmlns:trh="http://myfaces.apache.org/trinidad/html"
      xmlns:tr="http://myfaces.apache.org/trinidad" xmlns:c="http://java.sun.com/jsp/jstl/core">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<html>
  <head>
    <title>Error Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
  </head>
  <body id="b1">

      <h4 style="color:red">An Error Occured. Please click Back button or Signout.</h4>
      <input type="button" value="Back" onclick="history.back()"/>
      <tr:commandButton id="cb1" text="SIGN OUT" action="exit" actionListener="#{Login.LogOut}"/>    
  </body>
</html>

当我部署应用程序并遇到404错误时,页面显示错误消息,仅显示“返回”按钮。我没有看到SingOut按钮。我检查了网址,它跟随/ faces / *模式。还是要仔细检查,我做了一个更改并在web.xml中配置了servlet映射

 <servlet-mapping>
 <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>/faces/*</url-pattern>
  <url-pattern>*.jspx</url-pattern>
</servlet-mapping>

仍未呈现commandButton。我知道我的错误页面无法访问FacesContext或无法访问Faces Servlet。我知道这是一个小问题,但无法弄清楚可以做些什么。我也尝试使用.xhtml和.jsf按照googled建议。但没有运气 我已经尝试了不同的解决方案来解决我的问题并搜索解决方案。但我无法解决它。

那么请你提供任何建议......

0 个答案:

没有答案