レコード管理クラスの作成
では、作成していきましょう。まず、addressdataテーブルのレコードを管理するクラスを作成します。ここでは「AddressData」というクラスとして作成をしましょう。ソースコードは以下のようになります。
package jp.allabout;
public class AddressData {
private int id;
private String name;
private String mail;
private String memo;
public AddressData(int id,String name,String mail,String memo){
this.id = id;
this.name =name;
this.mail = mail;
this.memo = memo;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
public String getMemo() {
return memo;
}
public void setMemo(String memo) {
this.memo = memo;
}
}
非常にシンプルなBeanクラスですね。id、name、mail、memoの各値を保管するためのフィールドと、それぞれのアクセサが用意されています。コンストラクタは、それぞれの値を引数に渡す形のものを用意してあります。addressdataテーブルからレコードを取り出したら、各レコードをこのAddressDataクラスのインスタンスとして保管し、処理するようにするわけです。
テーブル管理Beanの登録
続いて、テーブルを管理するBeanを作ります。ここでは、「DataTableBean」という名前のクラスとして作成することにしましょう。まず、BeanをJSF設定ファイルに登録しておきましょう。<faces-config>タグの中に、以下のようなタグを追記してください。
<managed-bean>
<managed-bean-name>dataTableBean</managed-bean-name>
<managed-bean-class>jp.allabout.DataTableBean</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>タグは、既に登場しましたね。page1.jspの内容を管理するPage1Beanを登録するのに用いました。JSFでは、こうしたページのデータを管理する管理Beanだけでなく、さまざまなBeanを登録しておくことができます。ここでは、managed-bean-scopeをapplicationにし、アプリケーションBeanとして登録をしました。これにより、アプリケーションが起動している間、常に利用できるようになります。