在我的情况下,我想向我的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>
Managed Bean就像这样:
public void closePopupAction(){
//do some action
popupCheck=false;
}
但是closePopupAction方法无法激活。我不知道是什么原因以及如何解决这个问题。
如果您有任何想法,请与我分享。您可以在线查看我的错误并下载我们的应用程序(请查看 testcase5 ):
http://phandanghung.wordpress.com/2012/03/22/welcome-to-my-jsf-tutorial-project/
真诚地感谢。
答案 0 :(得分:0)
您可以将commandButton更改为a4j:
<a4j:commandButton value="Close" oncomplete="if (#{facesContext.maximumSeverity==null}) #{rich:component('popup')}.hide()"/>
您甚至不需要支持bean来关闭弹出窗口。