Как перерендерить rich:dataTable

У меня возникли проблемы с повторным рендерингом <rich:dataTable> в JSF. У меня есть ссылка обновления на моей странице, которая должна обновлять только содержимое

<h:commandLink action="#" value="#{messages['listmsgs.header.refresh']}">
    <a4j:support event="onclick" reRender="mesagesListTable" />
</h:commandLink>

Но когда я нажимаю на эту кнопку, ничего не происходит. При нажатии F5 тоже ничего не происходит. Если я нажму на ссылку, ведущую на текущую страницу, тоже ничего не произойдет. Только когда я нажимаю ссылку на другую страницу и возвращаюсь назад (не с помощью кнопки «Назад» в браузере), содержимое перерисовывается. Как я могу применить этот эффект с помощью reRender?


person thobens    schedule 01.02.2012    source источник


Ответы (1)


Перерисовать родительский компонент dataTable. Например, вы можете поместить dataTable внутрь h:panelGroup и перерендерить панельGroup.

person Pablo    schedule 01.02.2012
comment
Кажется, это не работает. Возможно, это как-то связано с Hibernate. Я заметил, что когда таблица получает новую строку, таблица обновляется. Но при изменении значения ячейки ничего не происходит. - person thobens; 01.02.2012
comment
Вы где-то сохраняете коллекции, которые загружают таблицу, или читаете их из базы данных каждый раз, когда вызывается геттер? - person Pablo; 01.02.2012
comment
Я читаю его каждый раз, когда вызывается геттер. Но я нашел решение: я вызвал entityManager.clear() в геттере, теперь он работает. Спасибо за ваши комментарии - person thobens; 01.02.2012