0

我有一个条件“{notificationSearchBean.tooLong}”。如果该条件为真,我如何创建一个按钮,我想显示一个确认对话框,当它为假时,该操作将立即执行。当条件为真时,将显示确认对话框并且我希望它正常运行:如果按下是,则应执行按钮操作,如果否,则应中止呼叫。这是我到目前为止所拥有的,但它需要两次点击才能正确。

    <h:panelGrid align="center" columns="2" id="bodyContent">
        <p:commandButton value="Start Search" action="#{notificationSearchBean.getAllNotificationsForQuery}" update="bodyContent" rendered="#{!notificationSearchBean.tooLong}"/>

        <p:commandButton value="Start Search" action="#{notificationSearchBean.getAllNotificationsForQuery}" update="bodyContent" rendered="#{notificationSearchBean.tooLong}"> 
            <p:confirm header="Please narrow your search" message="Number of records fetched is #{notification.size}. Would you like to continue?"/>
        </p:commandButton>
    </h:panelGrid>
    <p:confirmDialog global="true" showEffect="fade" hideEffect="fade" >
        <p:commandButton value="Yes" type="button"  styleClass="ui-confirmdialog-yes" icon="ui-icon-check"/>
        <p:commandButton value="No" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close"/>
    </p:confirmDialog>

这不适用于基于原始存储在 bean 中的按钮呈现的按钮,但我希​​望它是当前提交的新值。我怎样才能改变它,让它这样做?

4

0 回答 0