2011-12-07 15 views
-1

ポイントに達すると、私は.jspページとエラーページを持っています。何かが最初のものに間違っていたら、エラーページが表示され、エラーページでisErrorPage属性にfalseを代入して最初のページをもう一度エラーページにリダイレクトしたい場合、最初のページはその愚かな例外トレースを表示しますが、最初のページはエラーページにリダイレクトされます。ページコード:isErrorPage = "false"はコンテナによって無視されます

<%@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> 

<%@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> 

ここで私が話してきた最初のページがあります

ありがとうございます。

答えて

2

isErrorPage = "false"エラーページをリダイレクトすることはありません。最初のJSPでerrorPageを指定している限り、そのerrorpageにリダイレクトされます。あなたの例では、 "anotherErrorPage"にリダイレクトされます。

isErrorPage属性は、暗黙のオブジェクト例外が使用可能かどうかを決定します。 JSPからサーブレットへの変換中に、この属性に基づいてservice()メソッドが定義されます。 falseを設定した場合、そのページで例外オブジェクトを使用することはできません。真の例外オブジェクトを設定して使用することができます。

あなたの場合例外を表示するには、以下のいずれかを実行する必要があります、
1. anotherErrorPageで、isErrorPage = "true"を定義し、暗黙オブジェクト "exception"で例外を表示またはキャッチします。
2.最初のJSPページのerrorPage属性を削除します。

+0

ありがとう – Rehme

0

web.xmlにエラーページとして設定する必要があります(<error-page>参照)。

+0

ちょっと、私はDDのエラーページタグについて知っていますが、私はちょうど私のコードで何が問題なのか知りたいです、とにかくありがとう。 – Rehme

+0

@ Realあなたの問題は、エラーページが表示され続けることですか?そして、あなたはそれを配備記述子から削除しましたか?私はJSR 245を読んでいるので、 'isErrorPage'の唯一の効果は暗黙的な変数が利用可能かどうかである。 – Artefacto

関連する問題