目次へ

3.3. <jsp:setProperty>と<jsp:getProperty>

<jsp:setProperty>と<jsp:getProperty>は<jsp:useBean>などで生成したインスタンスに対して、値の設定/取得・表示を行うアクションタグです。以下は<jsp:setProperty>の属性一覧です。

属性名 必須 スクリプト
可能
説明
name   値を設定するインスタンス名
property   指定されたプロパティに対して値を設定する。「*」を設定した場合には、「request」から全てのパラメータ値を読み取り、パラメータ名と同じ名前のプロパティに対して値を設定します。プロパティに値を設定するためには、該当インスタンスがそのプロパティに対する「setter」メソッドを持っていなければならない。
param     「param」が指定された場合には指定されたパラメータの値を「request」から読み取り、プロパティに設定する。
value   「value」が指定された場合には、その値をプロパティに設定する。「property」が「*」でない場合は、「param」か「value」のいずれかを設定する必要がある。

以下は<jsp:setProperty>の使用例です。「tiger」というインスタンスに対して値を設定しています。

<jsp:setProperty name="tiger" property="name" value="虎" />
<jsp:setProperty name="tiger" property="height" value="<%=height %>" />
<jsp:setProperty name="tiger" property="weight" param="weight" />

「value」属性には、スクリプトを用いて値を指定する事も可能です。ただしその場合は、属性の値全体を<%= %>で指定してください。ただし代入する値の型は、Java Beanのプロパティの型と合致している必要があります。また以下のように一部分に使用するということもできません。「100<%=height %>」という文字列として解釈されます。

<jsp:setProperty name="tiger" property="height" value="100<%=height %>" />

続いて<jsp:getProperty>の属性一覧を示します。

属性名 必須 スクリプト
可能
説明
name   値を取得・表示するインスタンス名
property  

表示するプロパティ。該当するプロパティから値を取得する「getter」メソッドがなければならない。

以下は使用例です。「tiger」インスタンスの「name」プロパティ値を取得して表示します。

<jsp:getProperty name="tiger" property="name" />

これは以下のスクリプトと同じになります。

<%=tiger.getName() %>

(実習課題2)

実習課題1を更に改良しなさい。

  • 出力ページにおいて、<jsp:getProperty>を使用するように変更する事。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp