Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 模板中primefaces对话框出现重复id错误_Jsf 2_Primefaces_Duplicates_Facelets - Fatal编程技术网

Jsf 2 模板中primefaces对话框出现重复id错误

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

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="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表绑定,然后问题就消失了