JavaServer Faces ユーザーズガイド |
目次 |
第3章 JavaServer Facesアプリケーションの開発 |
画面上に表示する値や、送信されたデータを格納する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が存在します。
目次 |