我在 PrimeFaces 对话框中有一个 JSF 复合组件,该组件具有dynamic
=true( dynamic - 允许使用 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()">