Computer >> Máy Tính >  >> Lập trình >> Lập trình

Làm thế nào để xử lý đối tượng lỗi trong JSP bằng cách sử dụng thẻ JSTL?

Bạn có thể sử dụng thẻ JSTL để 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, phần sau sẽ được tạo -

Xin chào ...

Lỗi:
java.lang.RuntimeException:Tình trạng lỗi !!!
URI:
/ main.jsp
Mã trạng thái:
500
Dấu vết ngăn xếp: 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)