容器忽略isErrorPage =“false”

时间:2011-12-07 09:49:07

标签: java jsp page-directives

说实话,我有.jsp页面和错误页面,如果第一个出现问题,那么错误页面应该会出现,现在我不希望第一页重定向到错误页面,通过在错误页面上为isErrorPage属性赋值false,第一页应该显示那个愚蠢的异常跟踪,但是第一页保持重定向到错误页面,这里是我的简单错误页面代码:

 <%@page contentType="text/html" pageEncoding="UTF-8" isErrorPage="false"%>
 <!DOCTYPE html>
 <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JSP Page</title>
    </head>
      <body>
       <h1>guess what ? this is supposed to be an error page</h1>
     </body>
</html>

这是我一直在讨论的第一页:

 <%@page contentType="text/html" pageEncoding="UTF-8" errorPage="anotherErrorPage.jsp" %>
   <!DOCTYPE html>
 <html>
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <title>JSP Page</title>
    </head>
  <body>
      <h1>Hello World!</h1>

      <% int i = 3/0;%>
  </body>
</html>

非常感谢。

2 个答案:

答案 0 :(得分:2)

isErrorPage =“false”不会阻止您重定向错误页面。只要您在第一个JSP中指定了errorPage,它就会重定向到它的errorpage。在您的示例中,它重定向到“anotherErrorPage”。

isErrorPage属性决定隐式对象异常是否可用。在JSP到Servlet转换期间,在service()方法中,将基于此属性定义异常对象。如果设置为false,则不能在该页面中使用异常对象。如果设置了真正的异常对象,那么就可以使用它

在您的情况下如果您想要显示例外情况,您可以使用下面的任何一个, 1.在anotherErrorPage中,定义isErrorPage =“true”并通过隐式对象“exception”显示或捕获异常 2.在第一个jsp页面中删除errorPage属性。

答案 1 :(得分:0)

您需要将其设置为web.xml中的错误页面(请参阅<error-page>)。