我有一个数据输入表单,它显示了许多字段(主要是p:inputText)供用户提供。其中一些是 LOV,因此我显示一个p:dialog以允许用户选择正确的值。p:dialog通过p:inputText旁边的p:commandLink显示。代码的主要部分如下所示:
<h:form id="parentForm">
(...)
<p:inputText value="#{CustomerCEVController.customer.municipality}" id="customerMncName"/>
<p:commandLink type="button" onclick="MunicipalityDlg.show()" styleClass="ui-icon ui-icon-search"/>
(...)
<p:commandButton value="Submit" id="save" actionListener="#{CustomerCEVController.saveButtonListener}" /> (...)
</h:form>
问题是,每当用户单击p:commandLink以显示p:dialog(以允许他选择其中一个值)时,外部表单都会经历其生命周期阶段(恢复视图、应用请求值、流程验证等) .) 因为p:commandLink被放置在h:form中。如何实现此对话框显示功能,同时避免在用户打开的每个对话框中发布h:form ?