私はこのようなjsfフェイスレットページを持っています(非常に単純化されたバージョン):
<h:form id="frmAnagPersonName">
<p:commandButton value="Edit" icon="ui-icon-gear"
update="@form :frmEdit"
onsuccess="_dlgEdit.show()"/>
...
<p:dataTable etc...
...
</h:form>
<p:dialog id="dlgEdit" widgetVar="_dlgEdit" dynamic="true" modal="true" closable="true"
header="Person Identity">
<h:form id="frmEdit" >
<p:panelGrid id="pnlEdit" columns="2">
<p:outputLabel id="lblName" for="eName" value="Name"/>
<p:inputText id="eName" value="#myBean.personName}"
</p:panelGrid>
</h:form>
</p:dialog>
ダイアログにdynamycヘッダーを配置するまでは、正常に機能します。
<p:dialog ... header="#{myBean.header}" ... >
その時点で、 :のupdate
属性を変更する必要があります。p:commandButton
update="@form :dlgEdit"
ただし、この場合、ダイアログはボタンを最初にクリックしたときにのみ表示されます。2回目は表示されず、その後再び表示されます...
なぜですか?ダイアログを常に表示するにはどうすればよいですか?
ありがとうございました