Использование a4j: поддержка, чтобы сделать PanelGrid кликабельным, после клика страница не обновляется - PullRequest
2 голосов
/ 04 февраля 2010

Я сделал кнопку, используя HTMLPanelGrid и HTMLAjaxSupport (a4j: поддержка от bean-компонента), которая отвечает на 'onclick'.

Eventlistener, зарегистрированный в HTMLAjaxSupport, добавляет компонент на страницу (другой компонентс другим компонентом поддержки).

Проблема в том, что добавление не отображается, пока я не обновлю страницу или не нажму другую кнопку, которая обновляет дисплей.Я пытаюсь выяснить, как обновить страницу.

Подводя итог - я хотел бы знать, как обновить визуальный компонент, поддерживаемый компонентом поддержки после изменения компонента поддержки.(Обновление должно произойти после нажатия на компонент, поддерживаемый ajax)

Спасибо!

1 Ответ

3 голосов
/ 04 февраля 2010

все <a4j: теги имеют атрибут reRender. Он должен указывать на id объекта / области, которую вы хотите обновить.

Обратите внимание, что если компонент был скрыт, вы должны повторно передать его parent . Например:

<h:panelGroup id="newComponentWrapper">
<!-- your component goes here -->
</h:panelGroup>
...
<a4j:support reRender="newComponentWrapper" .. />

И еще один совет - избегайте использования атрибута binding - в 95% случаев вы можете обойтись без него.

...