1
我在PrimeFaces對話框中有一個JSF複合組件,它具有dynamic
= true(動態-啓用延遲加載帶有ajax的內容)。該組件在被覆蓋的方法encodeBegin
中被初始化。當顯示對話框時會發生這種情況。僅在顯示時執行復合組件代碼
如果我刪除動態屬性,那麼在未顯示對話框並打破現有代碼時也會調用encodeBegin方法。
只有在顯示對話框時纔可以執行復合組件代碼嗎?
下面是一個代碼選擇:
<p:dialog id="actionsDialog"
widgetVar="actionsDialogWidget" resizable="false" width="800"
height="600" showEffect="fade" hideEffect="fade" modal="true">
<h:form id="confirmationWizardForm">
<acme:actionWizard name="wizard" widgetVar="wiz" bean="#{accountsBean}"
header="#{accountsBean.entityHeader}"
update="form:genericAccounts" onClose="actionsDialogWidget.hide()" />
</h:form>
</p:dialog>
...
<p:commandButton value="Add"
action="#{accountsBean.initializeEntity}" process="@this"
update=":actionsDialog" oncomplete="actionsDialogWidget.show()">
當對話框沒有顯示時,你是否設置'visible'或'rendered'爲false? – dratewka
不,我沒有任何控制對話框渲染的屬性。 – Seitaridis
所以你控制它在客戶端的可見性? – dratewka