私は現在CRUDフォームに取り組んでおり、最も簡単なはずの最後の部分である削除に取り組んでいます。しかし、ユーザーが実際に削除する前にダイアログを表示したいと思います。そして、これは私がPrimefaces3.4で問題を抱えているところです。何らかの理由で、p:dialog内のボタンでアクションを設定できません。ajax=falseが失敗しました。これが私がしたことです:
<p:column headerText="#{msgs['action.delete']}"
styleClass="a-center">
<p:commandButton icon="ui-icon-trash"
oncomplete="confirmation.show()">
<f:setPropertyActionListener
target="#{marketingCodeBean.marketingCode}" value="#{code}"></f:setPropertyActionListener>
</p:commandButton>
</p:column>
ダイアログ:
<p:confirmDialog id="confirmDialog"
message="#{msgs['message.marketingCode.confirmDelete']}"
header="#{msgs['common.confirmDelete']}" severity="alert"
widgetVar="confirmation">
<p:commandButton id="confirm" value="#{msgs['common.yes']}"
oncomplete="confirmation.hide()" update=":form:mktgCodeTable"
actionListener="#{marketingCodeBean.remove}" />
<p:commandButton id="decline" value="#{msgs['common.no']}"
onclick="confirmation.hide()" type="button" />
</p:confirmDialog>
actionListenerをビジネスアクションに使用するべきではないことは承知していますが、データテーブルとダイアログを考えると回避策を考えることはできません。p:confirmDialog内のp:commandButtonでajax = falseを作成する方法についてのアイデアはありますか?