إيزيرورباج="كاذبة" يتم تجاهلها من قبل الحاويات
-
29-10-2019 - |
سؤال
وصلنا الى هذه النقطة ، لدي .صفحة جسب وصفحة الخطأ ، حسنا إذا كان هناك شيء يذهب على نحو خاطئ مع أول واحد ، يجب أن تتحول صفحة الخطأ حتى ذلك الحين ، والآن أنا لا أريد الصفحة الأولى لإعادة توجيه إلى صفحة الخطأ بعد الآن ، عن طريق تعيين كاذبة إلى سمة إيزيرورباج في صفحة الخطأ ، يجب أن تعرض الصفحة الأولى أن تتبع استثناء غبي ، ولكن الصفحة الأولى تحافظ على إعادة توجيه إلى صفحة الخطأ ، وهنا هو بلدي بسيط :
<%@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>
شكرا زليون .
المحلول
isErrorPage="false" لا يمنعك من إعادة توجيه صفحة الخطأ.طالما حددت errorPage في أول JSP ، فسيتم إعادة التوجيه إلى صفحة الخطأ الخاصة به.في مثالك يعيد التوجيه إلى "anotherErrorPage".
تحدد السمة isErrorPage ما إذا كان استثناء الكائن الضمني سيكون متاحًا أم لا.أثناء تحويل JSP إلى Servlet ، سيتم تحديد طريقة In service () ، استنادًا إلى كائن استثناء السمة هذا.إذا قمت بتعيين خطأ ، فلا يمكنك استخدام كائن الاستثناء في تلك الصفحة. إذا قمت بتعيين كائن استثناء صحيح ، فسيكون هناك ويمكنك استخدامه
في حالتك إذا كنت تريد إظهار الاستثناء ، فعليك تنفيذ أي مما يلي ،
1. في anotherErrorPage ، عرِّف isErrorPage="true" واعرض أو التقط الاستثناء بواسطة الكائن الضمني "استثناء".
2. قم بإزالة سمة errorPage في صفحة jsp الأولى.
نصائح أخرى
تحتاج إلى تعيينها كصفحة خطأ في الويب.شمل (انظر <error-page>
).