2011-07-25 15 views
0

私のjsfページには、inputtextフィールドとhiddenフィールドがあります。編集ボタンがあり、編集ボタンをクリックするとポップアップ画面が表示され、値を選択すると選択した値が私の隠しフィールドに戻ります。値が返されたときにValueChangeEventが発生しない

隠しフィールドにvalueChangeListenerを追加し、次のコードをBeanに追加しました。しかし

public void processChange(ValueChangeEvent event){   
    try {   
     logger.info("event new value "+event.getNewValue().toString()); 

    } catch (Exception ex) {       
    } 

私は戻って私の隠されたフィールドへの編集ポップアップウィンドウや戻り値を使用して値を変更するたびに、valueChangeListenerのは、私は推測発射されていません。

valueChangeListenerが起動していない理由は何ですか?私のページスコープはセッションで、JSF 1.1を使用しています。

このアプローチの背後にあるアイデアは、再クエリし、ポップアップからの値に基づいて、私はJSFページでデータをリフレッシュしたいと思います。

答えて

1

最初に最もスーパークラスの例外をキャッチしてはならず、特に何もログに記録しないでください。 event.getNewValue()からのオブジェクトがnullの場合は、NullPointerExceptionが発生し、そのことについて気付かれることはありません。

使用のようなもの:

public void processChange(ValueChangeEvent event){   
try {   
    logger.info("event new value "+event.getNewValue().toString()); 

} catch (NullPointerException ex) { 
    logger.error("object is null: "+ex.getMessage());    
} catch (Exception ex) { 
    logger.error(ex);    
} 

http://download.oracle.com/javase/tutorial/essential/exceptions/index.html

+0

- @ timaschewあなたが言及したように例外部分を変更しましたが、私は変更された値を私のbeanで見ることができません。 valueChangeListenerは発砲していないと思います。 – user75ponic

+0

@BalusCはあなたにいくつかの洞察を提供できますか? – user75ponic

+0

[PropertyChangeListener](http://download.oracle.com/javase/tutorial/uiswing/events/propertychangelistener.html) – timaschew

0

フォームを提出する必要があります。 フォームを送信するjavascriptを呼び出すタグにonchage属性を追加します。 フォームが送信されるまで、値の変更は呼び出されません。