指定した bean プロパティの値を取り出し、現在のページの残りにアクセス可能な、
(toScopeプロパティで指定したスコープ内での)属性として定義します。
戻されるプロパティ値はJavaのプリミティブ型でなければ型変換されず、
適切なラッパクラスでラップされます。
(例えば、int は Java.lang.Integer でラップされます)
"value" 属性を指定した場合、取り出される bean は、
java.lang.String 型で、指定した値で初期化されます。
もし指定した bean プロパティの取り出し中に問題が発生した場合は、
リクエスト時に例外がスローされます。
<bean:define> タグ は、
<jsp:useBean> との違いがいくつかあります:
- 指定した識別子で bean を無条件に 作成(または置換)します。
- 別の bean のプロパティ ゲッター が戻す値によって bean を作成できます。
(ネストされて(かつ、または)
インデックス付きのプロパティ名で参照されるプロパティを含む)
value属性で指定した リテラル 文字列 (または実行時式の結果)
を含む bean を作成できます。
<jsp:setProperty> タグのように
ネストされた内容はサポートされません。
bean が実際に作成された場合にのみ実行されます。
使い方の注意 -
JSP 1.1 仕様の中に制限事項があります。
単一のJSPページの中で、id属性に同じ値を使用することは許可されていません。
そのため、<bean:define> を 単一ページ内で2回以上同じ
bean 名で使用することはできません。
これらの違いやJSPページにbeanを導入する代替アプローチについての詳しい情報は、
Bean デベロッパーズ ガイド の
bean 作成
セクションを参照してください。