【发布时间】:2013-08-04 20:37:10
【问题描述】:
我有一个显示带有条目的数据表的 xhtml 页面。我还有一个按钮来插入一个新条目,它显示一个包含表单的对话框。插入表单在父.xhtml中作为<ui:include>使用,如下:
父文件
<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>
我如何一般地引用文件中显示的父组件。简而言之,当我点击对话框中的提交按钮时,我想更新主表单并隐藏对话框。然而,这些组件位于“父字段”中。
这可能应该通过支持 bean 以编程方式完成,因为我不想在子 .xhtml 中包含特定于父级的操作,因为我可能还想将它用作独立的 .xhtml。
【问题讨论】:
-
你可以考虑用你包含的 xhtml 做一个复合组件。但几乎没有关于功能的信息可以为您提供任何进一步的建议。
-
这个问题完全把我弄糊涂了。答案似乎与所要求的不匹配(参数化
<ui:include>以便它可以在不修改包含文件的情况下重复用于多种表单),但答案已被接受!我现在不知道你具体要问什么了。
标签: jsf primefaces facelets