JavaBean は特別な Java クラスであり、Java 言語で記述された再利用可能なコンポーネントであり、JavaBeans API 仕様に準拠しています。
他の Java クラスと比較した JavaBean の独自の機能は次のとおりです。
デフォルトの引数なしのコンストラクターを提供します。
シリアル化する必要があり、Serializable インターフェイスを実装します。
読み取りおよび書き込み可能なさまざまなプロパティが存在する場合があります。
一連の「getter」メソッドまたは「setter」メソッドが存在する場合があります。
JavaBean オブジェクトのプロパティにはアクセスできる必要があります。この属性には、カスタム Java クラスを含む、任意の有効な Java データ型を指定できます。
JavaBean オブジェクトのプロパティは、読み取り/書き込み、読み取り専用、または書き込み専用にすることができます。 JavaBean オブジェクトのプロパティには、JavaBean 実装クラスで提供される 2 つのメソッドを通じてアクセスします。
方法 | 説明する |
---|---|
getプロパティ名() | たとえば、属性の名前が myName の場合、属性を読み取るにはメソッドの名前を getMyName() と記述する必要があります。このメソッドはアクセサーとも呼ばれます。 |
setPropertyName () | たとえば、属性の名前が myName の場合、属性を書き込むにはメソッドの名前を setMyName() として記述する必要があります。このメソッドはライターとも呼ばれます。 |
読み取り専用プロパティは getPropertyName() メソッドのみを提供し、書き込み専用プロパティは setPropertyName() メソッドのみを提供します。
これは StudentBean.java ファイルです。
パッケージ com.tutorialspoint;public class StudentsBean は java.io.Serializable{ private String firstName = null; private int age = 0 { } public String getFirstName(){ return firstName }; String getLastName(){ lastName を返す; } public int getAge(){ 年齢を返す; } public void setFirstName(String firstName){ this.firstName = public void setLastName(String lastName){ this.lastName = lastName } public void setAge(Integer age){ this.age = age;
StudentBean.java ファイルをコンパイルします。このファイルは、この章の最後の例で使用されます。
<jsp:useBean> タグは、JSP で JavaBean を宣言し、それを使用できます。宣言後、JavaBean オブジェクトはスクリプト変数になり、スクリプト要素または他のカスタム タグを通じてアクセスできるようになります。 <jsp:useBean> タグの構文形式は次のとおりです。
<jsp:useBean id="Bean の名前"scope="Bean のスコープ" typeSpec/>
その中で、特定の状況に応じて、スコープの値はページ、リクエスト、セッション、またはアプリケーションになります。 id 値は、同じ JSP ファイル内の他の <jsp:useBean> の id 値と同じでない限り、任意の値にすることができます。
次に、<jsp:useBean> タグの簡単な使用法を示します。
<html><head><title>useBean の例</title></head><body><jsp:useBean id="date" /> <p>日付/時刻は <%= date %> です</body ></html>
次のような結果が得られます。
日時は 2013 年 9 月 30 日木 11:18:11 GST です。
<jsp:useBean> タグの本体で、<jsp:getProperty/> タグを使用して getter メソッドを呼び出し、<jsp:setProperty/> タグを使用して setter メソッドを呼び出します。構文形式は次のとおりです。
<jsp:useBean id="id"scope="bean のスコープ"> <jsp:setProperty name="bean の id" property="プロパティ名" value="value"/> <jsp:getProperty name="bean の id" プロパティ="プロパティ名"/> ......</jsp:useBean>
name 属性は、Bean の id 属性を参照します。 property 属性は、呼び出すゲッター メソッドまたはセッター メソッドを参照します。
次に、上記の構文を使用した属性アクセスの簡単な例を示します。
<html><head><title>プロパティの取得と設定の例</title></head><body><jsp:useBean id="students" > <jsp:setProperty name="students" property="firstName" value ="ザラ"/> <jsp:setProperty name="students" property="lastName" value="Ali"/> <jsp:setProperty name="students" property="age" value="10"/></jsp:useBean><p>生徒の名: <jsp:getProperty name="students" property="firstName"/></p><p>生徒の姓: <jsp: getProperty name="students" property="lastName"/></p><p>学生の年齢: <jsp:getProperty name="students" property="age"/></p></body></html >
StudentBean.class を CLASSPATH 環境変数に追加し、上記の JSP にアクセスします。 実行結果は次のとおりです。
学生の名: Zara 学生の姓: Ali 学生の年齢: 10