Javaに関する様々な情報をご紹介します。

2JSPとJavaBeansの連携

Javaに関する様々な情報をご紹介します。

JSPとJavaBeansの連携

このページでは、JSPからJavaBeansを使用する方法について解説します。 JSPでは、JavaBeansを使用するタグとして、 <jsp:useBean>、<jsp:setProperty>、<jsp:getProperty>の3つのタグが用意されています。

<jsp:useBean>

<jsp:useBean>タグは、JSPでJavaBeansのオブジェクトを生成する際に使用します。

<jsp:useBean id="オブジェクト変数"
       scope="スコープ"
       class="クラス"
       type="オブジェクト変数の型"
       beanName="クラス" />

<jsp:useBean>タグの属性

属性名 説明
id JavaBeansのオブジェクトが格納されるオブジェクト変数を指定します。idに同じオブジェクト変数を指定することにより、異なるページで同じJavaBeansオブジェクトを共有できます。 必須の属性です。
scope JavaBeansオブジェクトのスコープを指定します。スコープは"page"、"request"、"session"、"application"のいずれかを指定できます。指定しない場合は"page"が適用されます。
class オブジェクトが生成されていない場合、class属性で指定されたJavaBeansクラスのオブジェクトを生成します。クラスがパッケージに属している場合は、パッケージ名から指定します。
type idで指定したオブジェクト変数の型を指定します。type属性を指定しない場合は、type属性はclass属性と同じ型になります。
beanName オブジェクトが生成されていない場合、beanName属性に指定された直列化されたオブジェクトもしくは、JavaBeansクラスのオブジェクトを生成します。直列化されたオブジェクトとは、オブジェクトの永続化のためファイルなどに保存されたオブジェクトのことです。class属性とbeanName属性を同時に指定することはできません。

【<jsp:useBean>タグの例】JSPからJavaBeansを使用する際、タグでJavaBeansのオブジェクトを生成して使用します。

<jsp:useBean id="object1"
    class="Beans.ExBean"
    scope="session" />

<%-- ExBeanのオブジェクト、object1を生成します。
    スコープはsessionです。 --%>

<jsp:setProperty>

<jsp:setProperty>タグは、JavaBeansのsetメソッドを呼び出す際に使用します。setメソッドを呼び出すことにより、JavaBeansにデータを登録します。

<jsp:setProperty name="オブジェクト変数"
         property="プロパティ"
         value="プロパティ値"
         param="パラメータ" />

<jsp:setProperty>タグの属性

属性名 説明
name JavaBeansのオブジェクト変数を指定します。<jsp:useBean>タグのid属性と同じ値になります。必須の属性です。
property JavaBeansの該当するsetメソッドを呼び出すためのプロパティを指定します。必須の属性です。
value プロパティに設定する値を指定します。式を指定することもできます。式で指定された値はすべてString型の値と判断されます。JavaBeanのプロパティがString型でない場合は式の中で型変換を行う必要があります。式以外で指定した場合(直接値を指定など)は自動型変換が行われます。
param リクエストで送信されるパラメータを指定し、その値をプロパティの値とします。value属性と同時に使用することはできません。param属性を指定しない場合は、property属性の値と同じになります。property属性と同じ名前のパラメータの値がプロパティの値になります。

<jsp:setProperty>タグの例

<jsp:setProperty name="object1"
     property="id"
     param="shimei" />

<%-- object1オブジェクトのsetIdメソッドを呼び出します。
    設定される値はshimeiパラメータの値です。 --%>

<jsp:setProperty name="object1" property="id" />

<%-- object1オブジェクトのsetIdメソッドを呼び出します。
    設定される値はidパラメータの値です。 --%>

<jsp:getProperty>

<jsp:getProperty>タグは、JavaBeansのgetメソッドを呼び出す際に使用します。getメソッドを呼び出すことにより、JavaBeansのデータを参照します。

<jsp:getProperty name="オブジェクト変数"
         property="プロパティ" />

<jsp:getProperty>タグの属性

属性名 説明
name JavaBeansのオブジェクト変数を指定します。<jsp:useBean>タグのid属性と同じ値になります。必須の属性です。
property JavaBeansの該当するgetメソッドを呼び出すためのプロパティを指定します。必須の属性です。

<jsp:getProperty>タグの例

<jsp:getProperty name="object1" property="id" />

<%-- object1オブジェクトのgetIdメソッドを呼び出します。 --%>

2JSPとJavaBeansの連携