He utilizado DataTable – la Selección de la Fila de caras principales para mostrar la lista de usuarios y cuando ejecuto la página me enfrenté a este error

Cannot find component with identifier ":form:display" referenced from "j_idt24:people:0:selectButton".

código de la página

<!--    the part is very important 
if we did not put  <ui:composition> will will get a very ugly UI
-->
<ui:composition>
<h:head>
<title>Contacts</title>
</h:head>       
<!--    the part is very important --> 
<body>
<h:form>
<p:growl id="msgs" showDetail="true" />  
<p:dataTable id="people" var="person" value="#{personBean.users}">  
<p:column headerText="ID" style="width:24%">  
<h:outputText value="#{person.id}" />  
</p:column>  
<p:column headerText="Name" style="width:24%">  
<h:outputText value="#{person.name}" />  
</p:column>  
<p:column headerText="Sex" style="width:24%">  
<h:outputText value="#{person.sex}" />  
</p:column>  
<p:column headerText="Email" style="width:24%">  
<h:outputText value="#{person.email}" />  
</p:column>  
<p:column style="width:4%">  
<p:commandButton id="selectButton"  oncomplete="personDialog.show()" icon="ui-icon-search" title="View"  update=":form:display" >  
<f:setPropertyActionListener value="#{person}" target="#{personBean.selectedPerson}" />  
</p:commandButton>  
</p:column>  
</p:dataTable>  
<p:dialog header="Person Detail" widgetVar="personDialog" resizable="false" id="perDlg"  
showEffect="fade" hideEffect="explode" modal="true">  
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">  
<h:outputText value="Name:" />  
<h:outputText value="#{personBean.selectedPerson.name}" style="font-weight:bold"/>  
<h:outputText value="Sex" />  
<h:outputText value="#{personBean.selectedPerson.sex}" style="font-weight:bold"/>  
<h:outputText value="Email" />  
<h:outputText value="#{personBean.selectedPerson.email}" style="font-weight:bold"/>  
</h:panelGrid>  
</p:dialog>  
</h:form>
</body>
</ui:composition>
</html>

¿cuál es el problema con mi código ?

2 Comentarios

  1. 4

    Usted está usando » update=»:forma:de» visualización » en el botón, pero el formulario no tiene un id ‘:la forma » es incorrecta. Si usted le da la forma de una identificación, por ejemplo, miformulario. A continuación, puede utilizar :myForm:pantalla

    Básicamente, usted necesita tomar un vistazo a Namingcontainers que usted necesita para entender a los elementos de referencia(véase, por ejemplo: Contenedor de nombres en JSF2/PrimeFaces)

  2. 2

    Tienes que configurar id=»formulario» en la h:form. El identificador generado aleatoriamente en el mensaje de error que se antepone a los botones id es el identificador generado de forma. Si se establece para formar el id que usa va a trabajar.
    Una alternativa sería el uso de un identificador relativo en la actualización del botón.

    • ¿Cómo puedo utilizar un identificador relativo ?

Dejar respuesta

Please enter your comment!
Please enter your name here