4. ディレクティブ
JSP 4章 ディレクティブ
- 4.1. ディレクティブとは
- 4.2. pageディレクティブ
- 4.3. taglibディレクティブ
- 4.4. includeディレクティブ
4.1. ディレクティブとは
1.3節の繰り返しになりますが、ディレクティブとはコンテナに対して、JSPページをどのように処理するか指示をするものです。この章では以下の3つのディレクティブについて説明します。
- page
- taglib
- include
ディレクティブは基本的に
<%@ (ディレクティブ名) ... %>
の形式で囲んで定義します。以下のような形式で定義しても構いません。
<jsp:directive.(ディレクティブ名) ... />
4.2. pageディレクティブ
pageディレクティブは、主にJSPページの出力関係の制御を行います。指定できる属性は以下の通りです。
autoFlush | 自動的に出力バッファをフラッシュします。「true」「false」で指定し、デフォルト値は「true」です。 |
buffer |
JSPページの出力の際に使用するバッファのサイズを指定します。KB単位で指定し、「none」を指定するとバッファリングを行いません。 <%@ page buffer="16KB" %> |
contentType | 出力データのMIMEタイプを指定します。デフォルトは「text/html; charset=8859_1」です。「charset」で指定した文字コードで出力されるようになります。 |
errorPage |
JSPページ内で捕捉できなかった例外を処理させるページを相対パスで指定します。処理させるページがJSPの場合には「isErrorPage」属性を「true」に設定する必要があります。 <%@ page errorPage="error.jsp" %> |
extends | JSPページの規定クラスを指定します。デフォルトは、「javax.servlet.jsp.HttpJspPage」です。他のものを指定する場合は、パッケージ名を含めたクラス名を指定する必要があります。 |
import |
JSPページでインポートするクラスを指定します。複数インポートする場合には「,」で区切ります。 <%@ page import="java.util.*, java.sql.*" %> |
info | JSPページの情報をセットします。この値は、「javax.servlet.Servlet」の「getServletInfo」で返される値になります。 |
isErrorPage | JSPページがエラー処理用のページである場合に、「true」に設定します。暗黙オブジェクト「exception」が使用可能になります。 |
isThreadSafe | スレッドモードを「true」「false」で指定します。「false」に指定すると「javax.servlet.SingleThreadModel」が使用されます。「SingleThreadModel」を使用すると1スレッド1インスタンスになりますが、共有資源の競合問題が発生します。 |
language | JSPページで使用する言語を指定します。JSP1.2の時点で「java」以外ありません。 |
session | セッションを有効にするか無効にするか指定します。デフォルトは「true」です。「true」にすると暗黙オブジェクト「session」が使用可能になります。 |
頻繁に使用する属性は「contentType」「import」「session」の3つです。この3つを覚えておくと良いでしょう。
(実習課題1)
以下のJSPページを作成し、どのようなエラーが出るか確かめなさい。
- 「autoFlush」属性で「false」を指定し、「buffer」属性で「none」を指定する。