У меня есть страница xhtml, на которой отображается Datatable с записями. У меня также есть кнопка для вставки новой записи, которая отображает диалоговое окно с формой. Форма вставки используется как <ui:include>
в родительском .xhtml следующим образом:Диалог PrimeFaces ссылается на родителя
Родитель файл Диалог файл
<h:form id="mainForm">
<p:commandButton process="@form" update=":dlgGrp" oncomplete="dlg.show()"/>
<p:datatable id = "datatable">
various columns
.....
.....
</p:datatable>
</h:form>
<p:dialog widgetVar="dlg" >
<h:panelGroup id="dlgGrp">
<ui:include src="include.xhtml" />
</h:panelGroup>
</p:dialog>
</ui:composition>
<ui:composition xmlns . . .>
<h:form id="subForm">
various input fields
......
......
<p:commandButton process="@form" update=":mainForm" oncomplete="dlg.hide()"/>
</h:form>
</ui:composition>
Как я могу обратиться в общем смысле для родительского компонента, как показано в файл. В нескольких словах, как только я нажму кнопку отправки в диалоговом окне, я хочу обновить основную форму и скрыть диалог. Однако эти компоненты находятся в «родительском поле».
Это, вероятно, должно быть сделано программно через бэк-файл, так как я не хочу включать родительские действия в дочерний .xhtml, так как я тоже могу использовать его как автономный .xhtml.
Вы можете рассмотреть возможность создания составного компонента из вашего включенного xhtml. Но мало информации о функциональности, чтобы дать вам дополнительные советы. – skuntsel
Этот вопрос меня полностью смутил. Ответ, похоже, не соответствует тому, что задается (параметризуйте '', чтобы он был повторно использован для нескольких форм без изменения файла include), но ответ был принят! Теперь я не уверен, что конкретно вы спрашиваете. –
BalusC