В настоящее время я интегрирую p: confirmDialog в наши пользовательские компоненты/jsf ui. Но при использовании р: confirmDialog в этой иерархии она не удалась:Подлинности confirmDialog не отображается внутри p: tabView
p:panel
p:tabView
p:tab
h:form
p:panel
h:panelGroup
h:panelGroup
p:commandButton
p:confirmDialog
В других формах это удалось:
h:form
p:panel
h:panelGroup
h:panelGroup
p:commandButton
p:confirmDialog
p:panel
p:tabView
p:tab
Обратите внимание, один из наиболее очевидной разницы, где часа: определяются форма и confirmDialog находится внутри tabView (не удалось).
Вот как я определил confirmDialog:
<p:commandButton id="saveButtonWithMessage"
rendered="#{cc.attrs.edit and !empty(cc.attrs.backingBean.objectId) and !empty(cc.attrs.updateConfirmationMessage)}"
value="#{messages['action.save']}" icon="ui-icon-check"
onclick="PF('saveButtonWithMessageDialog').show();">
</p:commandButton>
<p:confirmDialog message="#{cc.attrs.updateConfirmationMessage}"
widgetVar="saveButtonWithMessageDialog" showEffect="fade"
hideEffect="fade">
<p:commandButton ajax="#{cc.attrs.ajaxSubmit}"
value="#{messages['commons.yes']}" styleClass="ui-confirmdialog-yes"
icon="ui-icon-check" oncomplete="saveButtonWithMessageDialog.hide()"
action="#{cc.attrs.backingBean.saveOrUpdate(cc.attrs.killConversationOnSave)}">
<f:param name="edit" value="#{cc.attrs.edit}" />
</p:commandButton>
<p:commandButton value="#{messages['commons.no']}" type="button"
styleClass="ui-confirmdialog-no" icon="ui-icon-close"
onclick="PF('saveButtonWithMessageDialog').hide()" />
</p:confirmDialog>
На втором примере, браузер успешно отправлен запрос и получил ответ, но он застрял с экраном серого модальным.
Вот частичный ответ я получил:
<partial-response>
<changes>
<update id="tabView:j_idt625"><div id="tabView:j_idt625" class="ui-messages ui-widget" aria-live="polite"></div></update>
<update id="tabView:j_idt680"><div id="tabView:j_idt680" class="ui-messages ui-widget" aria-live="polite"></div></update>
<update id="tabView:j_idt732"><div id="tabView:j_idt732" class="ui-messages ui-widget" aria-live="polite"></div></update>
<update id="tabView:j_idt788"><div id="tabView:j_idt788" class="ui-messages ui-widget" aria-live="polite"></div></update>
<update id="javax.faces.ViewState">3685613370368244617:-6252032147041871407</update>
</changes>
</partial-response>
Любая идея?