Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Cách xử lý error object trong JSP bằng JSTL tags

Bạn có thể dùng JSTL tags để viết trang lỗi ShowError.jsp với cấu trúc tốt hơn và nhiều thông tin hơn:

<%@ taglib prefix = "c" uri = "https://java.sun.com/jsp/jstl/core" %>
<%@page isErrorPage = "true" %>
<html>
    <head>
        <title>Show Error Page</title>
    </head>
    <body>
        <h1>Opps...</h1>
        <table width = "100%" border = "1">
            <tr valign = "top">
                <td width = "40%"><b>Error:</b></td>
                <td>${pageContext.exception}</td>
            </tr>
            <tr valign = "top">
                <td><b>URI:</b></td>
                <td>${pageContext.errorData.requestURI}</td>
            </tr>
            <tr valign = "top">
                <td><b>Status code:</b></td>
                <td>${pageContext.errorData.statusCode}</td>
            </tr>
            <tr valign = "top">
                <td><b>Stack trace:</b></td>
                <td>
                    <c:forEach var = "trace" items = "${pageContext.exception.stackTrace}">
                        <p>${trace}</p>
                    </c:forEach>
                </td>
            </tr>
        </table>
    </body>
</html>

Truy cập main.jsp, sẽ sinh ra:

Opps...

Error:
java.lang.RuntimeException: Error condition!!!
URI:
/main.jsp
Status code:
500
Stack trace: org.apache.jsp.main_jsp._jspService(main_jsp.java:65)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)