レコード管理クラスの作成


では、作成していきましょう。まず、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として登録をしました。これにより、アプリケーションが起動している間、常に利用できるようになります。