JavaServer Faces ユーザーズガイド
目次 前ページ次ページ

第3章 JavaServer Facesアプリケーションの開発

3.1 managed beanの作成

画面上に表示する値や、送信されたデータを格納するBeanを作成します。
Beanは値をプロパティに持ち、アクセサメソッド(Setter/Getter)を持ちます。また、イベントリスナを実装することが可能です。

詳細は「入出力ページの作成」で説明しますが、Beanをmanaged beanとして登録した場合、入出力ページから以下のような指定が可能です。

以下に、値が更新された場合のリスナと、ボタンが押された場合のリスナを実装する例を示します。

package mypkg;

import javax.faces.event.ActionEvent;
import javax.faces.event.ValueChangeEvent;

public class MyBean {
  protected String message = "My Message";

  public String getMessage() {
    return this.message;
  }

  public void setMessage(String message) {
    this.message = message;
  }

  public String getIdForNextPage() {
    // 画面遷移のための値を取得
    return "success";
  }

  public void messageChanged(ValueChangeEvent event) {
    // messageプロパティの値が更新された場合の処理を記述
  }

  public void pushed(ActionEvent e) {
    // ボタンが押された場合の処理を記述
  }
}

作成したモデルの名前とスコープをJavaServer Faces定義ファイル(faces-config.xml)に定義します。以下の例では、mypkg.MyBeanクラスをmyBeanという名前で登録しており、スコープはsessionです。

<faces-config>
  <managed-bean>
    <managed-bean-name>myBean</managed-bean-name>
    <managed-bean-class>mypkg.MyBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
</faces-config>

スコープは、none, application, session, request の中から指定します。 指定しなかった場合スコープはnoneとなり、Beanはどのスコープにも保存されず、参照されている間のみBeanが存在します。


目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2005