タイトル
TOPJavaJSP → This Page

JSPディレクティブ

前置き

ここではJavaJSP(JavaServer Pages)のディレクティブについてふれていきます。

ディレクティブの概要

ディレクティブとはJ2EE コンテナに対してどのようにこのページを処理するか指示するものである。

構文
<%@ ディレクティブ名 属性名1="属性値1" 属性名2="属性値2" ... %>

例
<%@ page contentType="text/html;charset=Shift_JIS" %>

ディレクティブの種類

ディレクティブ概要
page ページの処理方法を指定
include 外部ファイルをインクルード
taglib タグライブラリを定義

page ディレクティブ

属性概要初期値
autoFlush 出力コンテンツのサイズがバッファサイズを超えた場合の挙動を指定
true = バッファ内容が自動的にフラッシュ(出力)
false= 例外を返す
ただし、buffer 属性が none の場合は false にできない
<%@ page autoFlush="false" %>
true
buffer ページ出力用バッファ処理に際して確保されるバッファサイズを指定
単位はキロバイト
バッファ処理自体を無効にしたい場合には none を指定
<%@ page buffer="16kb" %>
8kb
contentType コンテンツタイプと出力の文字エンコーディングを指定
ページ内で日本語を扱う場合は必須
<%@ page contentType="text/html;charset=Shift_JIS" %>
text/html; charset=ISO-8859-1
errorPage ページで処理されなかった例外を処理する別ページの URL を指定
ただし、例外を処理するページは page ディレクティブで
isErrorPage 属性を true にする必要がある。
<%@ page errorPage="/errpage.jsp" %>
なし
extends 基本となるクラス(JSPが継承するスーパークラス)を指定 javax.servlet.jsp.HttpJspPage
info ページの情報を指定
<%@ page info="Test Page" %>
なし
import ページ内で使用するクラスライブラリを指定
カンマ区切りで属性値を複数指定可能
<%@ page import="java.util.*,java.text.*" %>
java.lang.*,
javax.servlet.*,
javax.servlet.jsp.*,
javax.servlet.http.*
isELIgnored 式言語(EL)を無効とするかどうか指定
JSP 2.0 からの機能
true =式言語を無効とする
false=式言語を有効とする
<%@ page isErrorPage="true" %>
false
isErrorPage 別のページからの例外を処理するかどうかを指定
true =execption オブジェクトが使用可能になる
false=exception オブジェクトを使用できない
<%@ page isErrorPage="true" %>
false
isThreadSafe スレッドセーフのレベルを指定
true =複数のスレッドを用いて一つのページで一度に複数クライアントの要求を処理
false=一つのスレッドを用いてクライアントからの要求を処理
<%@ page isThreadSafe="false" %>
true
lang 宣言、スクリプトレット、式で使用するスクリプト言語言語を指定
ただしJSP 2.0 では java のみ指定可能
java
pageEncoding 生成する応答文字セットを指定
<%@ page pageEncoding="Shift_JIS" %>
contentType の charset 値
session セッションを有効にするかどうかを指定
true =session オブジェクトが使用可能になる
false=session オブジェクトを使用できない
<%@ page session="false" %>
true

(注意)
import 属性以外は同一属性を複数回指定することは出来ない

include ディレクティブ

属性概要
file インポートする外部ファイルのパスを指定
<%@ include file="test.htm" %>

taglib ディレクティブ

属性概要
prefix カスタムタグに使用する接頭辞文字列を指定
uri タグライブラリディスクリプタファイルの絶対パスまたは相対パスを指定

(例)
<%@ taglib uri="/test.tld" prefix="test" %>

更新履歴

2013/12/09 記述ミス修正
2007/12/01 Javaのコーナー細分化に伴い、URL の変更


TOPJavaJSP → This Page