Всплывающая панель Richfaces - PullRequest
3 голосов
/ 17 марта 2012

Как я могу вызвать метод из бэк-компонента перед показом всплывающей панели?

<h:commandButton value="Call the popup" action="#{bean.doSomething}" >
    <rich:componentControl target="popup" operation="show" />
</h:commandButton>

<rich:popupPanel id="popup" modal="true" resizeable="true" onmaskclick="#{rich:component('popup')}.hide()">
   ...
</rich:popupPanel>

В этом случае doSomething () метод не вызывается.

Ответы [ 3 ]

5 голосов
/ 18 марта 2012

Гнездо a4j:ajax в commandButton или используйте a4j:commandButton. Эти два компонента имеют атрибут oncomplete, в который можно поместить код, который открывает всплывающее диалоговое окно, например:

<a4j:commandButton value="Call the popup" action="#{bean.doSomething}" oncomplete="#{rich:component('popup')}.show()">
</a4j:commandButton>

Это выполнит запрос ajax при нажатии кнопки и откроет всплывающее окно после завершения запроса.

1 голос
/ 18 марта 2012

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

MAG, Мило

1 голос
/ 17 марта 2012

Вы можете просто использовать f:ajax при успешном ответе показать всплывающее окно

См. Также

...