Как активировать метод действия в h: commandButton в rich: popupPanel в richFaces 4.2.0 - PullRequest
0 голосов
/ 25 марта 2012

В моем случае я хочу добавить действие к моему rich: popupPanel, например:

   <rich:popupPanel id="popup" show="#{tC5Bean.popupCheck}"  autosized="true" resizeable="false">
         <f:facet name="header">
        <h:outputText value="Simple popup panel" />
    </f:facet>
    <f:facet name="controls">
        <h:outputLink value="#" onclick="#{rich:component('popup')}.hide(); return false;">
            X
        </h:outputLink>
    </f:facet>
        <p>
        Hihi Click this button to hide
        <br/>
        <h:commandButton value="Close" onclick="alert('#{tC5Bean.popupCheck}')" action="#{tC5Bean.closePopupAction()}"/>
        </p>
    </rich:popupPanel>

И Управляемый компонент следующим образом:

public void closePopupAction(){
    //do some action
    popupCheck=false;
}

Но метод closePopupActionне удалось активировать.Я не знаю, с чем это связано и как решить эту проблему.

Если у вас есть идеи, пожалуйста, поделитесь со мной.Вы можете просмотреть мою ошибку онлайн и загрузить наше приложение по адресу (пожалуйста, просмотрите testcase5 ):

http://phandanghung.wordpress.com/2012/03/22/welcome-to-my-jsf-tutorial-project/

Искренне спасибо.

1 Ответ

0 голосов
/ 28 марта 2012

Вы можете изменить свою командную кнопку на a4j:

<a4j:commandButton value="Close" oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('popup')}.hide()"/>

Вам даже не нужен вспомогательный компонент для закрытия всплывающего окна.

...