「{notificationSearchBean.tooLong}」という条件があります。その条件が真の場合に確認ダイアログを表示したい場合、ボタンを作成するにはどうすればよいですか。偽の場合、アクションはすぐに実行されます。条件が true の場合、confirmdialog が表示され、正常に機能するようにします。[はい] が押された場合はボタン アクションが実行され、[いいえ] が押された場合は呼び出しが中止されます。これは私がこれまでに持っているものですが、正しくするには2回クリックする必要があります.
<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 に保存されていた元のものに基づいてレンダリングされたボタンとしては機能しませんが、現在の送信からの新しい値にしたいと考えています。これを変更するにはどうすればよいですか?