Компонент JSF не обновляется, если изменения произошли от щелчка сетки - PullRequest
0 голосов
/ 18 ноября 2011

У меня есть приложение JSF / IceFaces, в котором есть экран, разделенный на 3 раздела. Поля поиска, сетка и некоторые детали полей ниже. В настоящее время, если я ввожу некоторые данные в поля поиска и нажимаю кнопку «Поиск» (!), Сетка показывает результаты, и вызывается определенный метод, который помещает детали первой записи результата в базовые компоненты полей подробностей под сеткой. Это показывает, что нет проблем с тем, как я помещаю данные в поля сведений.

Однако у меня есть метод gridclicklistener, который хотел бы изменить поля детализации в соответствии с выбором. После щелчка вызывается тот же метод с правильными параметрами, который хорошо работает, если вызывается после нажатия на кнопку «Поиск». Данные обновляются в базовых компонентах, но изменения не отображаются, даже если я нажимаю кнопку обновления в браузере.

Я обнаружил, что если я нажму на кнопку поиска, метод обновления данных будет вызываться с InvokeApplicationPhase.execute. Когда я добираюсь до этой строки после щелчка сетки, то это из ApplyRequestValuesPhase.

Есть ли у вас какие-либо идеи, что может иметь значение и как получить эту работу?

Обновление:

Я ясно вижу обновленное значение в компоненте поддержки, но оно вообще не отображается на экране, даже после F5.

1 Ответ

1 голос
/ 21 ноября 2011

Я не знаю, в чем причина вашей первоначальной проблемы.

С помощью push-рендера icefaces вы можете принудительно обновить:

http://wiki.icefaces.org/display/ICE/Getting+Started+with+ICEfaces+2#GettingStartedwithICEfaces2-icepush

...