タイトル
TOPJavaJSP → This Page

JSPアクションタグ

前置き

ここではJavaJSP(JavaServer Pages)のアクションタグについてふれていきます。

アクションタグの概要

アクションタグとはJSPページ内でよく使用する定型的な処理をタグ形式で記述可能にしたものである。

構文
<jsp:アクションタグ名 属性名1="属性値1" 属性名2="属性値2"...>~</jsp:アクションタグ名>
または
<jsp:アクションタグ名 属性名1="属性値1" 属性名2="属性値2"... />

ただし、タグの記述は XML の記法にのっとって記述する必要がある。
・大文字と小文字は区別される
・終了タグは省略できない
・属性値はダブルクオーテーションで囲む
・タグ同士はネスト構造になる必要がある

アクションタグの種類

アクションタグ概要
fallback Java プラグインが起動できなかった場合のコンテンツを指定
pluginアクションタグの子要素として用いる
forward 指定ページにリダイレクト
getProperty JavaBeans のプロパティを取得
include 指定ページを実行
param パラメータを引き渡す
forward、includeアクションタグの子要素として用いる
params Java プラグインにパラメータを引き渡す
pluginアクションタグの子要素として用いる
plugin Java プラグインを実行する HTML を生成
setProperty JavaBeans のプロパティに値を設定
useBean JavaBeans の定義

fallbackアクションタグ

Java プラグインが起動できなかった場合のコンテンツを指定するのに用いる。
pluginアクションタグの例を参照。

forwardアクションタグ

指定ページにリダイレクトするのに用いる。
リダイレクト後、以降の現在のページの処理は終了する。
属性必須概要
page 必須 リダイレクト先 URI

例
<jsp:forward page="redirect.jsp" />

getPropertyアクションタグ

JavaBeans のプロパティを取得するのに用いる。
属性必須概要
name 必須 値を取得するインスタンス名を指定
property 必須 値を取得するプロパティ名を指定
ただし、インスタンスには該当プロパティの値を取得する getter メソッドが必要

例
<jsp:getProperty name="objTest" property="price" />

includeアクションタグ

外部ファイルを実行するのに用いる。
属性必須概要
page 必須 実行先の URI
flush   外部ファイルを実行する前にバッファのフラッシュを行なうかどうか
デフォルトは false
属性値概要
true バッファのフラッシュを行なう
false バッファのフラッシュを行なわない

例
<jsp:include page="include.jsp" />

includeアクションタグは include ディレクティブとほぼ同様の機能を持つ。
ただし、include ディレクティブはインクルードファイルの変更は認識されないが、
includeアクションタグは実行時に常にインクルードファイルの変更を確認する。

param アクションタグ

パラメータを引き渡すのに用いる。
forward、includeアクションタグの子要素として用いる
属性必須概要
name 必須 パラメータの名前
value 必須 パラメータの値

例
<jsp:include page="include.jsp">
	<jsp:param name="prm" value="test" />
</jsp:include>

paramアクションタグを使用して渡されたパラメータは request.getParameter で取得が可能
クエリ情報と同名のパラメータを渡した場合はparamアクションタグの値が優先される。

paramsアクションタグ

Java プラグインにパラメータを引き渡すのに用いる。
pluginアクションタグの例を参照。

pluginアクションタグ

Java プラグインを実行する HTML を生成するのに用いる。
属性必須概要
align   表示位置を指定(HTML)
archive   ソースアーカイブの URI を指定
code 必須 クラスパスを指定
codebase   基本パスを指定
height   表示の高さを指定(HTML)
hspace   表示の上下のスペース幅を指定(HTML)
iepluginurl   IE で JRE プラグインをダウンロードする URI を指定
jreversion   JREのバージョンを指定
name   インスタンス名を指定
nspluginurl   Netscape で JRE プラグインをダウンロードする URI を指定
title   記述情報を指定
type 必須 Java プラグインのタイプを指定
vspace   表示の左右のスペース幅を指定(HTML)
width   表示の幅を指定(HTML)

例
<jsp:plugin type="applet" code="aaa.bbb.Test.class">
	<jsp:params>
		<jsp:param name="mode" value="test"/>
	</jsp:params>
	<jsp:fallback>プラグインの起動に失敗しました。</jsp:fallback>
</jsp:plugin>

setPropertyアクションタグ

JavaBeans のプロパティに値を設定するのに用いる。
属性必須概要
name 必須 値を設定するインスタンス名を指定
param   インスタンスのプロパティに設定する値を持つリクエストパラメータ名を指定
property 必須 インスタンスに設定するプロパティ名を指定
属性値概要
* リクエストの全パラメータ値を同パラメータ名のインスタンスのプロパティに値を設定
プロパティ名 インスタンスに設定するプロパティ名
ただし、インスタンスには該当プロパティの値を設定する setter メソッドが必要
value   インスタンスのプロパティに割り当てる値を指定

property が * 以外の場合は param、value のいずれかを指定する必要がある。

例1 リクエストパラメータ price より値を取得して設定
<jsp:setProperty name="objTest" property="price" param="price" />

例2 100 を設定
<jsp:setProperty name="objTest" property="price" value="100" />

useBeanアクションタグ

使用する JavaBeans を定義するのに用いる。
属性必須概要
beanName   Bean 名を指定
class   Bean の完全修飾クラス名を指定
id 必須 変数名かつ、指定 scope でのオブジェクトのインスタンスを識別に用いる
scope   Beanが使用可能な範囲を指定
デフォルトは page
属性値概要
application アプリケーション全体で参照可能
page インスタンスを生成したJSPページ内でのみ参照可能
request クライアントからの1要求内でのみ参照可能
session セッションの範囲内で参照可能
type   インスタンスの実行時の型を指定
beanName でインスタンスを生成する場合には必須
既に scope にインスタンスが存在し、class を省略する場合は必須
省略時は class 属性の値と同じになる

同じ名前でも scope が違えば違うオブジェクトとして新たに生成される。
既に登録済みの場合はインスタンスの生成を行わない。
beanName、class のいずれかを指定する必要がある。

例
<jsp:useBean id="objTest" class="aaa.bbb.Test" />

更新履歴

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


TOPJavaJSP → This Page