JSP 3章 アクション
- 3.1. アクション
- 3.2. <jsp:useBean>
- 3.3. <jsp:setProperty>と<jsp:getProperty>
- 3.4. <jsp:include>と<jsp:forward>
- 3.5. <jsp:plugin>
- 3.6. <jsp:attribute>と<jsp:body>
- 3.7. <jsp:doBody>と<jsp:invoke>
- 3.8. <jsp:element>
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>を使用するように変更する事。