2011-12-07 65 views
-1

到了这一步,我有.jsp页面和错误页面,以及如果第一个错误出现错误,错误页面应该出现,然后现在我不' t希望第一页重定向到错误页面,通过在错误页面上为isErrorPage属性指定false,第一页应该显示那个愚蠢的异常跟踪,但是第一页会一直重定向到错误页面,这里是我的简单错误页面代码: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> 

谢谢zillion。

回答

2

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

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

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

+0

非常感谢你 – Rehme

0

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

+0

嘿,我知道DD中的错误页面标记,但我只想知道我的代码有什么问题,无论如何谢谢。 – Rehme

+0

@Real所以你的问题是错误页面不断显示?你已经从部署描述符中删除它了吗?因为我正在阅读JSR 245,“isErrorPage”的唯一影响是某些隐式变量是否可用。 – Artefacto