JSPのページディレクティブとは?基本構文と全属性をわかりやすく解説
ページディレクティブ(pageディレクティブ)とは
pageディレクティブは、JSPコンテナに対して各種の指示(命令)を与えるための仕組みです。ここで指定した内容は、そのJSPページ全体に適用されます。pageディレクティブはJSPファイル内のどの位置にでも記述できますが、慣例としてJSPページの先頭にまとめて記述するのが一般的です。
pageディレクティブの基本構文
pageディレクティブの基本的な書式は次のとおりです。
<%@ page attribute = "value" %>
また、上記の構文と同等の内容をXML形式で記述することもできます。
<jsp:directive.page attribute = "value" />
記述例
たとえば、文字エンコーディングの設定とクラスのインポートを同時に行う場合は、次のように複数の属性を組み合わせて記述します。
<%@ page contentType="text/html; charset=UTF-8" import="java.util.Date" %>
pageディレクティブで使える主な属性一覧
pageディレクティブには、以下のような属性が用意されています。それぞれの目的を理解して、用途に応じて使い分けましょう。
| No. | 属性名と概要 |
|---|---|
| 1 | buffer 出力ストリームのバッファリングモデル(バッファサイズなど)を指定します。 |
| 2 | autoFlush サーブレットの出力バッファが満杯になったときの動作(自動フラッシュするかどうか)を制御します。 |
| 3 | contentType レスポンスのMIMEタイプおよび文字エンコーディング方式を定義します。 |
| 4 | errorPage Javaの非チェック例外(実行時例外)が発生した際に、エラー情報を表示する別のJSPページのURLを定義します。 |
| 5 | isErrorPage このJSPページ自体が、他のJSPページのerrorPage属性で指定されたエラー専用ページであるかどうかを示します。 |
| 6 | extends 生成されるサーブレットが継承すべきスーパークラスを指定します。 |
| 7 | import JSP内で使用するパッケージやクラスのリストを指定します。Javaにおけるimport文と同じ役割を果たします。 |
| 8 | info サーブレットのgetServletInfo()メソッド経由で参照できる説明文(文字列)を定義します。 |
| 9 | isThreadSafe 生成されるサーブレットのスレッドモデル(マルチスレッド対応の可否)を定義します。 |
| 10 | language JSPページ内で使用するスクリプト言語を定義します。 |
| 11 | session このJSPページがHTTPセッションに参加するかどうかを指定します。 |
| 12 | isELIgnored JSPページ内のEL式(Expression Language)を評価せずに無視するかどうかを指定します。 |
| 13 | isScriptingEnabled スクリプトレットなどのスクリプト要素の使用を許可するかどうかを決定します。 |
-
JSPのtaglibディレクティブとは?使い方と基本構文を徹底解説
JavaServer Pages(JSP)のAPIでは、HTMLやXMLタグと同じような見た目で記述できるカスタムJSPタグを定義することができます。そして「タグライブラリ」とは、独自の振る舞い(カスタム動作)を実装したユーザー定義タグの集合体のことを指します。taglibディレクティブは、作成したJSPページがカスタムタグのセットを使用することを宣言するための仕組みです。このディレクティブを使うことで、以下の3つの役割を果たします。JSPページでカスタムタグを使用することの宣言タグライブラリの場所(URI)の特定ページ内でカスタムタグを識別するための接頭辞(プレフィックス)の指定taglib
-
JSPページリダイレクトとは?仕組みと実装方法を徹底解説
ページリダイレクトとはページリダイレクトは、ドキュメントが新しい場所へ移動した際に、クライアント(ブラウザ)をその新しい場所へ誘導するためによく使われる仕組みです。主な利用シーンとしては、サーバーの負荷分散のためや、アクセス先をランダムに振り分けたい場合などが挙げられます。sendRedirect()メソッドによるリダイレクトリクエストを別のページへリダイレクトする最も簡単な方法は、responseオブジェクトのsendRedirect()メソッドを使用することです。このメソッドのシグネチャは以下の通りです。public void response.sendRedirect(String lo