The isErrorPage Attribute of page Directive In JSP
This section provides the best illustration of the isErrorPage attribute of the page directive in JSP by providing three JSP pages and it's output. This is a boolean attribute of the page directive. It sets the boolean value either true or false. You can use the exception object in the JSP page if you set the true value of the attribute otherwise you cannot use the exception object because the default value of the attribute is false.
Here, this section provides the two JSP files these are:
- ErrorPageAttribute.jsp
- error.jsp
About the ErrorPageAttribute.jsp page:
This page show a simple text box in which you have to enter a number and a button which is used for submission the html form and divided the entered number by 0 (Zero) i.e. the cause of generating an error and the page is redirected to the specified file name which is mentioned as the value of the errorPage attribute of the page directive.
About the error.jsp page:
This page shows the error generated in the calling JSP page because of dividing the entered number by zero or any type of the error when the value of the isErrorPage attribute is set with the true value.
About the error1.jsp page:
There is only one difference between the JSP page error.jsp and the error1.jsp page is the value of the isErrorPage attribute of the page directive. In this page the value of the attribute is false. Because of this, the page does not support the exception object and will generate an error.
Here is the code of the ErrorPageAttribute.jsp page:
<%@page errorPage="error1.jsp" %> <html> <head><title>Showing Error Page.</title></head> <body> <form method="post"> <table border="0" cellspacing="0" cellpadding="0"> <tr> <td>Enter a number: </td> <td><input type="text" name="txtNum" /> </tr> <tr> <td> </td> <td><input type="submit" name="B1" value="Divide by zero" /> </tr> </table> </form> <% if(request.getParameter("txtNum") != null){ if(!request.getParameter("txtNum").equals("")){ int div = Integer.parse Int(request.getParameter("txtNum")) / 0; out.println("Answer is: " + div); } else{ out.println("<html><font color=r ed>Please enter a number.</font></html>"); } } %> </body> </html>
Output for the ErrorPageAttribute.jsp page:
Here is the code of the error.jsp page:
<%@page isErrorPage="true" %> <html> <head><title>Error Page.</title></head> <body bgcolor="blue"> <font size="16" color="white">Your page generated an error:"<br/> Exception:<br/></font> <%= exception.toString() %> </body> </html>
Output for the error.jsp page:
Here is the code of the error1.jsp page:
<%@page isErrorPage="false" %> <html> <head><title>Error Page.</title></head> <body bgcolor="blue"> <font size="16" color="white">Your page generated an error:"<br/> Exception:<br/></font> Exception not working in this page! </body> </html>
Output for the error1.jsp page: