Как заставить обновления данных через AJAX в JSF 2.0? - PullRequest
2 голосов
/ 30 июня 2010

У меня есть дата, которая извлекает информацию из базы данных. Я добавил кнопку в форму, которую я хочу использовать для принудительного обновления таблицы (идентификатор «таблицы»), однако я не уверен, как это сделать. Теперь у меня есть:

<h:commandButton value="Refresh">
    <f:ajax render="table"/>
</h:commandButton>

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

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 01 июля 2010

Вы должны указать действие в commandButton, которое вызывает бин и обновляет данные, отображаемые в таблице (в данный момент кнопка ничего не делает). Я не профессионал, но я думаю, что это должно выглядеть так:

<h:commandButton value="Refresh" action="#{myBean.refreshData}">
  <f:ajax render="table"/>
</h:commandButton>
0 голосов
/ 01 июля 2010

Тьфу. Это на самом деле работает, просто невероятно мучительно медленно. Мы недавно переключили серверы баз данных, и запрос, который занимал менее секунды на старом, просто занимал более 20 секунд на новом. Я просто тайм-аут, наблюдая за этим. Вздох.

В качестве примечания, как только я понял это, я протестировал как с действием, так и без него. Работает в обоих направлениях (при поиске выполняет поиск).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...