Jsf 2 模板中primefaces对话框出现重复id错误
PF 3.5.10、Mojara 2.1.21、Omnifaces 1.5 我有一个Facelet模板,其中p:menu和p:include用于对话框 mytemplate.xhtml:Jsf 2 模板中primefaces对话框出现重复id错误,jsf-2,primefaces,duplicates,facelets,Jsf 2,Primefaces,Duplicates,Facelets,PF 3.5.10、Mojara 2.1.21、Omnifaces 1.5 我有一个Facelet模板,其中p:menu和p:include用于对话框 mytemplate.xhtml: <h:form> ... <p:menubar> <p:menuitem value="Start Dialog" oncomplete="mydialogwidget.show()"/> <p:menuitem value="ope
<h:form> ... <p:menubar>
<p:menuitem value="Start Dialog" oncomplete="mydialogwidget.show()"/>
<p:menuitem value="open another page" action="/app/mypage.xhtml?faces-redirect=true"/>
</p:menubar> ... </h:form>
<ui:insert name="content" />
<ui:include="/app/mydialog.xhtml" />
。。。
...
mydialog.xhtml:
<ui:composition>
<p:dialog widgetVar="mydialogwidget" ...>
<h:form>
<p:datatable binding="#{mybean.table}">
<p:column id="col_first"> ... </p:column>
...
<p:column id="col_last"> ... </p:colum>
</p:datatable>
</h:form>
</p:dialog>
</ui:composition>
...
...
...
mypage.xhtml:
<ui:composition template="/app/mytemplate.xhtml">
<ui:define name="content">
<h:form> ... </h:form>
</ui:define>
</ui:composition>
...
如果启动mypage.xhtml表单菜单,我将变成JSF1007错误(重复ID),组件树将写入控制台。简化的组件树输出:
+id: mydialog
+id: mytable
+id: col_first <<=============
....
+id: col_last
+id:col_first <<========
+id:mydialog
+id:mytable
+id:col_firstprolbem是datatable上的binding属性。另见:
SessionScoped组件在多个视图中使用
我使用了EL表绑定,然后问题就消失了