ValueChangeEvent не срабатывает, когда возвращаются значения

На моей странице jsf у меня есть поле ввода текста и скрытое поле. У меня есть кнопка редактирования, и при нажатии кнопки редактирования появляется всплывающий экран, и я выбираю значение, и выбранное значение возвращается обратно в мое скрытое поле.

Я добавил valueChangeListener в свое скрытое поле и добавил следующий код в свой компонент.

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

    } catch (Exception ex)  {                        
    } 

Однако каждый раз, когда я меняю значение с помощью всплывающего окна редактирования и возвращаю значение обратно в мое скрытое поле, я думаю, что valueChangeListener не срабатывает.

Любая идея, почему valueChangeListener не срабатывает? Моя область страницы - это сеанс и использование JSF 1.1.

Идея этого подхода заключается в повторном запросе и на основе значений из всплывающего окна, я хотел бы обновить данные на странице JSF.


person Jacob    schedule 25.07.2011    source источник


Ответы (2)


Не стоит сначала ловить самый суперклассовый Exception и уж тем более ничего не протоколируя. Возможно, ваш объект из 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

person timaschew    schedule 25.07.2011
comment
-@timaschew Я изменил часть исключения, как вы упомянули, но все равно не могу увидеть измененное значение в своем bean-компоненте. valueChangeListener не срабатывает, я думаю - person Jacob; 25.07.2011
comment
@BalusC, не могли бы вы дать некоторое представление? - person Jacob; 25.07.2011
comment
попробуйте PropertyChangeListener - person timaschew; 25.07.2011
comment
-@timaschew, я думаю, нет PropertyChangeListener для компонента inputText в JSF 1.1. - person Jacob; 26.07.2011
comment
хм, ладно, я ничего не знаю о JSF, попробуйте поискать в Google кое-что ValueChangeEvent+JSF< /а> - person timaschew; 26.07.2011

вы должны отправить форму. Добавьте атрибут onchage в тег, который вызывает javascript, который отправляет форму. Пока форма не будет отправлена, событие изменения значения вызываться не будет.

person Dhananjay    schedule 28.07.2011