<jsp:useBean id="beanInstanceName" scope="page|request|session|application" { class="package.class" [ type="package.class" ] | beanName="{package.class | <%= expression %>}" type="package.class" | type="package.class" } { /> | > other elements </jsp:useBean> }説明
属性名 | 説明 |
---|---|
id | このオブジェクトの識別子。
この属性は必須です。 |
scope | オブジェクトの有効範囲を指定します。
page、request、session、applicationのいづれかを指定します。 指定しない場合はpageになります。 |
class | オブジェクトの完全修飾クラス名を指定します。 |
beanName | ビーンの名前を指定します。
(.serなどを指定するようです) |
type | オブジェクトの型を指定します。
指定しない場合はclassと同じになります。 |
<jsp:useBean id="hoge" class="pkg.Hoge" scope="request"/>requestのスコープから、hogeという名前のオブジェクトを検索し、 検索したオブジェクトをpkg.Hogeクラスとして利用します。
pkg.Hoge hoge = (pkg.Hoge)request.getAttribute("hoge");例
<jsp:useBean id="hoge" type="java.util.List" scope="request"/>Javaコードで考えるとこんな感じになるでしょう。
java.util.List hoge = (java.util.List)request.getAttribute("hoge");
<jsp:setProperty name="beanInstanceName" { property="*" | property="propertyName" [ param="parameterName" ] | property="propertyName" value="{string | <%= expression %>}" } />説明
属性 | 説明 |
---|---|
name | オブジェクトの名前 |
property | 設定するプロパティーの名前 |
param | リクエストからプロパティーを設定するときのパラメータ名 |
value | 設定するプロパティーの値 |
<jsp:setProperty name="hoge" property="age">HTMLリクエストから渡された、age=25の値をhogeという名前のビーンにセットします。
hoge.setAge(request.getParameter("age")); //getAttribute()でなくgetParameterです。 //キャストとか略パラメータがたくさんあって、イチイチsetPropertyするのが手間なときは、 propety属性にワイルドカード("*")を指定することで、 hogeビーンに存在するセッタメソッドを使って、 request.getParameterで取得できたオブジェクトをすべてセットできます。
<jsp:setProperty name="hoge" property="age" value="25" />hogeオブジェクトのageプロパティーに"25"をセットします。 Javaコードで考えるとこうなります。
hoge.setAge("25");
<jsp:getProperty name="beanInstanceName" property="propertyName" />例
年齢 <jsp:getProperty name="hoge" property="age">
public class Person{ String m_name; int m_age; public int getAge(){ return age; } public void setAge(int age){ m_age = age; } public String getName(){ return name; } public void setName(String name){ m_name = name; } }このとき、このPersonビーンのプロパティーは、
<jsp:useBean id="person" class="pkg.Person" /> <jsp:setAttribute name="person" param="age" value="20"> <jsp:getAttribute name="person" param="age">