JSP リファレンス

JSP 構文とディレクティブ

<% %> で囲まれたこれらの構文は特別な設定を行うことなく使用できる 特殊な機能です。元は Microsoft の ASP を強く意識して JSP 内で直接処理を記述できる よう導入されましたが、近年ではソースの可視性 (=保守性) が悪化するためなるべく使わない 風潮になっています。

JSP 2.0 からはより可視性が高く安全な式言語 (EL) 及びタグファイル 用のディレクティブが追加されました。

<%!-- --%> JSP 1.0 - JSP のコメントを記述します。
<% %> JSP 1.0 - スクリプトレットと呼ばれる Java のコードを記述します。
<%! %> JSP 1.0 - スクリプトレットで使用する定数やメソッドなどを宣言します。
<%= %> JSP 1.0 - 単純な出力命令です。
${ } JSP 2.0 - 変数参照/演算/関数呼び出しが行うための式言語 (EL) を記述します。
<%@page%> JSP 1.0 - JSP 処理のメタ情報を指定します。
<%@include%> JSP 1.0 - 外部ファイルをこの位置にインライン展開します。
<%@taglib%> JSP 1.0 - JSP で使用する拡張タグライブラリを指定します。
<%@tag%> JSP 2.0 - タグファイルであることを宣言し、TLD に相当するメタ情報を指定します。
<%@attribute%> JSP 2.0 - JSP からタグファイルへ渡す属性を定義します。
<%@variable%> JSP 2.0 - タグファイルから JSP へ渡す変数を定義します。

標準アクションタグ

アクションタグと呼ばれるこれらの機能は JSP 1.1 の時代から特別な設定や Taglib 宣言なしに使用できます。

元々は JSP の可視性向上のために <% %> 形式のスクリプト レットを使用しないで済むよう、ロジック部分を Java Beans に分離しようとしたのが始まりでした。 しかし、JSP 1.1 というサーブレット開発初期の混沌とした時代に作られたためか、 今となってその発想や機能はあまり実用的であるとは言えません。 このため JSP 1.1 時代の <jsp:setProperty>, <jsp:getProperty> などいくつかのタグはあまり使われておらず、いまでは JSTL などを使用する 風潮になっています。

JSP 1.2 からは JSP を XML で記述することが可能になりました。これに伴いいくつかのタグが追加されています。

JSP 2.0 で追加されたタグはタグファイルで使用するための機能です。

<jsp:forward> JSP 1.0 - クライアントからのリクエストを HTML, JSP またはサーブレットなどの処理に転送します。
<jsp:getProperty> JSP 1.0 - Bean のプロパティ値を取得して結果のページに埋め込みます。
<jsp:include> JSP 1.0 - この位置に指定した URL の内容を挿入します。
<jsp:setProperty> JSP 1.0 - Bean プロパティに値を設定します。
<jsp:useBean> JSP 1.0 - 指定されたスコープの名前に対して Bean を配置します。
<jsp:plugin> JSP 1.0 - 指定したアプレットや Bean を表示する HTML を出力します。
<jsp:param> JSP 1.0 - パラメータを定義します。
<jsp:params> JSP 1.0 - アプレットパラメータをグループ化します。
<jsp:fallback> JSP 1.0 - アプレットが使用できないユーザエージェントの振り替えメッセージを記述します。
<jsp:root> JSP 1.2 - XML 構文の JSP におけるトップレベル要素です。
<jsp:output> JSP 1.2 - XML 構文の JSP における XML/DTD 宣言を出力します。
<jsp:element> JSP 1.2 - XML 要素を動的に構築します。
<jsp:attribute> JSP 1.2 - XML 要素の動的構築で属性部分を明示します。
<jsp:body> JSP 1.2 - XML 要素の動的構築で内容部分を明示します。
<jsp:text> JSP 1.2 - XML 構文 JSP においてテキストを出力します。
<jsp:doBody> JSP 2.0 - タグファイルにおいて Body 部分の評価と出力を行います。
<jsp:invoke> JSP 2.0 - タグファイルに属性値として渡されたフラグメントの評価と出力を行います。

JSP 1.1 機能

JSP 1.2 機能

JSP 2.0 機能

JSP 一般