ディレクティブの説明。例外が発生したら例外ページにリダイレクトするJSPサンプルなど。
Advertisements
ディレクティブタブとは、JSPのページ全体に作用するような定義を行うタグのこと。
pageディレクティブタブ
JSPファイル全体に関する属性を定義する。
ページ内の文字コードの設定やMIMEタイプ、セッションの有無など。
例
<%@ page 属性="値" %> <%@ page pageEncoding="UTF-8" session="false" %>
pageディレクティブタグで使用可能な属性
import・・・JSPで使用するページをインポートする。
extends
session・・・セッション管理に参加するかどうかを指定する
buffer
contentType・・・レスポンスのMIMEタイプと文字エンコーディングを指定する。
この属性で指定された情報がHTTPのContent-Typeのヘッダーに指定される。
例)
<%@ page contentType="text/html;charset=Windows-31J" %>
他には
autoFlush
isThreadSafe
pageEncoding
など。
includeディレクティブタブ
JSPファイルに静的なインクルードを行うときに使用する
taglibディレクティブタグ
JSPファイル内でカスタムタグを利用するときに使用する
■例外が発生したら例外ページにリダイレクトするJSPサンプル
例外が発生するJSP
<%@ page contentType="text/html; charset=Windows-31J" %> <%@ page errorPage="CatchException.jsp" %> <html> <body> <h1>例外発生!!!</h1> <% int[] array = {1,2,3}; for(int i=0; i < 5; i++){ out.println(array[i]); } %> </body> </html>
例外の転送先のJSP
<%@ page contentType="text/html; charset=Windows-31J" %> <%@ page isErrorPage="true" %> <html> <body> <h1>例外をキャッチしたJSP</h1> <%= exception.toString() %> </body> </html>
http://localhost:8082/web_comp/Exception.jsp
にリクエストを送ると、
ブラウザには
例外をキャッチしたJSP java.lang.ArrayIndexOutOfBoundsException: 3
と表示される。