―Servlet/JSPリファレンス―
@ITハイブックス編
2003/11/13
|
ワンポイントQuestion |
定義済み(暗黙)オブジェクトであるexceptionオブジェクトを利用するためには、pageディレクティブでどの属性をtrueにする必要がありますか?(単一選択)
A |
session |
B |
throwable |
C |
isThreadSafe |
D |
errorPage |
E |
isErrorPage |
|
|
解説 |
「pageディレクティブタグとは」で解説していないpageディレクティブタブの属性、errorPage属性からpageEncoding属性を解説します。
●errorPage属性
JSPファイルにアクセスした場合、いくつもの例外が発生する可能性があります。その中で、対応していない例外が発生したときに、指定したエラーページに転送することができます。
<%@ page errorPage="/errorpage.jsp"
%> |
このerrorPage属性を持つpageディレクティブタグは、JSPファイルの始めに入れてください。autoFlash属性が“true”でバッファがフラッシュされると、その後ではエラーページに転送することができません。また、buffer属性が“none”の場合に、例外が発生する前にJSPの出力があると、エラーページに転送することができません。
●isErrorPage属性
このJSPファイルが、別のJSPファイルのpageディレクティブタグのerrorPage属性で指定されているエラーページかどうか示します。デフォルトは、falseです。
trueの場合、そのエラーページとなり、定義済みオブジェクトのexceptionオブジェクトを利用することができ、これはエラーの発生したJSPファイルからのThrowableオブジェクトの参照になります。falseの場合、定義済みオブジェクトのexceptionオブジェクトを利用することはできません。
以下は、errorPage属性とisErrorPage属性の組み合わせの例です。
source.jspファイルの例 |
<HTML>
…
<%@ page errorPage="/errorpage.jsp" %>
…
<HTML> |
errorpage.jspファイルの例 |
<HTML>
…
<%@ page isErrorPage="true" %>
…
</HTML> |
●contentType属性
JSPファイルのレスポンスのMIMEタイプ、エンコーディング方式を指定します。デフォルトは、MIMEタイプがtext/htmlで、エンコーディング方式が「ISO-8859-1」です。JSPファイルで日本語を表示させる場合、例えば以下のように指定します。
<%@ page contentType="text/html;charset=Shif t_JIS"
%> |
以下の例のようにcontentType属性を設定していない場合、日本語の部分は文字化けします。
clockxx.jsp |
<HTML>
<HEAD><TITLE>時刻表示</TITLE></HEAD>
<BODY>
時刻表示: <%= new java.util.Date() %>
</BODY>
</HTML> |
以下の画面が、上記のJSPを実行した結果です。
|
表示結果 |
以下のようにcontentType属性を設定することで、正しく日本語が表示されます。
clockjp.jsp |
<HTML>
<HEAD><TITLE>時刻表示</TITLE></HEAD>
<BODY>
<%@ page contentType="text/html;charset=Shift_JIS" %>
時刻表示: <%= new java.util.Date() %>
</BODY>
</HTML> |
以下の画面が、上記のJSPを実行した結果です。
|
表示結果 |
●pageEncoding属性
JSPファイルのソースコードのエンコーディング方式を指定します。デフォルトは、エンコーディング方式が「ISO-8859-1」です。
JSPファイルで日本語を表示させる場合、例えば以下のように指定します。
<%@ page pageEncoding="charset=Shift_JIS"
% > |
なお、pageディレクティブはXML構文では、<jsp:directive.page>タグを使って記述することもできます。
POINT |
エラーページは、JSPファイルを含むWARファイルにも定義することができます。エラーページが、WARファイルとJSPファイルの両方に定義されている場合は、JSPファイルのエラーページが優先されて表示されます。 |
KEYWORD |
■MIMEタイプ
そのファイルが、どのような特性を持っているものなのかを設定します。 |
|
ワンポイントQuestionの解答 |
正解 E