JSF valueChangeListener - 入力値が変化された場合のイベント処理
2009/09/02 18:43Update
JSFのvalueChangeListenerは入力値が変化された場合のイベント(リスナー)処理について解説します。
対象コンポーネント
◇ h:inputText
◇ h:inputTextarea
◇ h:selectOneMenu
◇ h:selectBooleanCheckbox
・・・
など
valueChangeListenerメソッド
JSP例:
<h:selectOneMenu
value="#{MyBean.someValue}"
onchange="submit();"
valueChangeListener="#{MyBean.onChangeSomeValue}">
<f:selectItems value="#{MyBean.someValueList}"/>
</h:selectOneMenu>
valueChangeListener属性:javax.el.MethodExpression 型の値(メソッド名)になります。
メソッドのパラメータに「ValueChangeEvent」型に、戻り値に「void」にする必要があります。
managed-Bean例:
public class MyBean {
public void onChangeSomeValue(ValueChangeEvent event) {
//TODO、ここで処理を追加
//イベント・コンポーネントを取得
//UIInput selected = (UIInput) event.getComponent();
//コンポーネントの入力値を取得
//String selectedValue = (String) selected.getValue();
//...入力値処理はここ...
}
}
valueChangeListenerアクション
JSP例:
<h:inputText value="#{MyBean.value}" onchange="submit();">
<f:valueChangeListener type="com.syboos.listeners.MyValueChangeListener"></f:valueChangeListener>
</h:inputText>
f:valueChangeListenerのtype属性にValueChangeEventの実装クラスを指定します。
ValueChangeEvent実装例:
package com.syboos.listeners;
import javax.faces.event.ValueChangeEvent;
public class MyValueChangeListener implements javax.faces.event.ValueChangeListener {
public void processValueChange(ValueChangeEvent event) {
//TODO ここで処理を追加
}
}
参考資料
JSF Tag Library
javax.faces.event.ValueChangeListener API doc
Sponsored Link
- Relative Articles
- JSFプロジェクト階層構造例 - (2009/06/20 16:39)
- JSFのインストール - 初めてのJSFアプリ作成・実行 - (2009/06/23 16:24)
- ライフサイクルから理解するJSFの仕組み - (2009/06/24 17:43)
- JSF開発におけるweb.xmlの基本的な設定方法 - (2009/03/13 18:13)
- JSF Webページ(JSP)の基本的な書き方 - (2009/03/16 11:58)
- JSF Managed-Beanの定義・設定・使い方 - (2009/03/16 14:48)
- JSF メッセージ処理 概要 - (2009/06/20 20:01)
- JSF Validator入門 - 標準Validator及びその使い方 - (2009/06/22 18:26)
- JSF Converter入門 - 標準Converter及びその使い方 - (2009/06/23 17:17)
- JSF画面遷移 - (2009/06/24 18:08)