2013-08-04 3 views
0

Я получил эту ошибку при создании index.xhtml. Я работаю с первичками 3.4 в моем индексе страницы, я покажу список зон, и когда я нажму кнопку «Добавить», появится диалоговое окно. Ошибка: «javax.faces.FacesException: Не удается найти компонент с идентификатором «nZone», на который ссылается «j_idt10». »Основные элементы p: компонент diaolg не работает

<?xml version='1.0' encoding='UTF-8' ?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:p="http://primefaces.org/ui"> 

    <h:head> 
     <title>Listes des zones</title> 
     <link type="text/css" rel="stylesheet" href="dot-luv/theme.css"/> 
    </h:head> 
    <h:body> 
     <p:layout fullPage="true"> 
      <p:layoutUnit position="left" header="Atividades" resizable="true" closable="true" collapsible="true"> 
       <h:form prependId="false"> 
        <p:commandLink value="Nouvelle Zone" actionListener="#{ZoneController.preparAddZone()}" update="nZone" oncomplete="dialogGerLivro.show()"/> 
       </h:form> 
       <h:outputLink value="#{facesContext.externalContext.requestContextPath}/j_spring_security_logout"> 
        <h:outputText value="Sair"/> 
       </h:outputLink> 
      </p:layoutUnit> 
      <p:layoutUnit position="center"> 
       <h1>Listes des zones</h1><br/> 
       <br/><br/> 
       <h:form prependId="false"> 
        <p:dataTable id="table" var="zone" value="#{ZoneController.listZones}"> 
         <p:column> 
          <f:facet name="header"> 
           <h:outputText value="Zone"/> 
          </f:facet> 
          <h:outputText value="#{zone.nomzone}" /> 
         </p:column> 
          <f:facet name="header"> 
           <h:outputText value="Modifier"/> 
          </f:facet> 
         <p:commandButton actionListener="#{ZoneController.preparEditZone()}" value="Modifier" update="nZone" oncomplete="dialogGerLivro.show()"/> 
         <p:column> 
          <f:facet name="header"> 
           <h:outputText value="Supprimer"/> 
          </f:facet> 
          <h:commandLink action="#{ZoneController.DeleteZone}" value="Supprimer"/> 
         </p:column> 
        </p:dataTable> 
       </h:form> 
      </p:layoutUnit> 
     </p:layout> 

     <p:dialog header="Ajouter Zone" widgetVar="dialogGerLivro" resizable="false" modal="true" showEffect="slide" width="500"> 
      <h:form prependId="false"> 
       <h:panelGrid id="nZone" columns="2" style="margin-bottom:10px"> 

        <h:outputLabel for="titulo" value="Título:" /> 
        <h:inputText id="titulo" value="#{ZoneController.zone.nomzone}"/> 

        <p:commandButton update="tabele" oncomplete="dialogGerLivro.hide();" actionListener="#{ZoneController.SaveZone}" value="Insérer Zone"/> 
        <p:commandButton update="tabele" oncomplete="dialogGerLivro.hide();" actionListener="#{ZoneController.UpdateZone}" value="Modifier Zone"/> 

       </h:panelGrid> 
      </h:form> 
     </p:dialog> 
    </h:body> 
</ht 

ответ

0
<h:panelGrid id="nZone" columns="2" style="margin-bottom:10px"> 

находится внутри h:form, который является еще одним NamingContainer, где вы

<p:commandLink value="Nouvelle Zone" actionListener="#{ZoneController.preparAddZone()}" update="nZone" oncomplete="dialogGerLivro.show()"/> 

и

<p:commandButton actionListener="#{ZoneController.preparEditZone()}" value="Modifier" update="nZone" oncomplete="dialogGerLivro.show()"/> 

Try отсылая к нему с update=":nZone". Дополнительную информацию см. В ссылке на другой вопрос.

+0

я сделал, как вы сказали, и теперь я получил это исключение: java.lang.IllegalArgumentException:: NZONE –

+0

Попробуйте назвать свою форму, содержащую объект NZONE, и ссылки на объект так: ': FORMNAME: nZone' – patstuart

+0

IllegalArgumentException? В компоненте, который определяет 'update =": nZone: "'? Исключение звучит странно для меня, я не уверен, что оно происходит оттуда – Manuel

Смежные вопросы