条件显示p:overlayPanel

时间:2013-08-20 10:53:34

标签: jsf primefaces

如何根据某些结果从@ManagedBean有条件地显示/隐藏覆盖面板 在下面的代码中:p:overlayPanel适用于p:commandButton。我想从Action方法有条件地显示叠加面板 现在每次我点击命令按钮时它都会显示。

<h:form id="form">
    <h:outputLabel value="Town Name:"/>
    <h:inputText value="#{myBean.town}"/>
    <p:commandButton id="checkBtn" value="Check" action="#{myBean.action}"/>

    <p:overlayPanel  widgetVar="overL" id="over" for="checkBtn">
       <h:outputText value="This town is not Listed in our records"/>
    </p:overlayPanel>
</h:form>

注意:我正在使用 ** Primefaces 3.5 **

1 个答案:

答案 0 :(得分:0)

为覆盖面板指定一个窗口小部件名称并将showEvent设置为none(这会终止默认行为并为面板指定一个javascript句柄):

widgetVar="myOverlay" showEvent="none"

将oncomplete attr添加到您的按钮,例如:

oncomplete="if(args && !args.validationFailed) myOverlay.show();"