Java 无法找到标识符为的组件的Primefaces数据表问题

Java 无法找到标识符为的组件的Primefaces数据表问题,java,html,primefaces,Java,Html,Primefaces,我的项目有以下错误 严重:javax.faces.FacesException:找不到标识符为form:messages的组件,引用自form_选项卡:tabView:form:tableList:loginButton 这是我的index.xhtml: <h:form id="form_tab"> <p:growl id="growl" showDetail="true" /> <p:tabView id="tabView" dynam

我的项目有以下错误

严重:javax.faces.FacesException:找不到标识符为form:messages的组件,引用自form_选项卡:tabView:form:tableList:loginButton

这是我的index.xhtml:

<h:form id="form_tab">  

    <p:growl id="growl" showDetail="true" />  

    <p:tabView id="tabView" dynamic="true">  

        <p:ajax event="tabChange" listener="#{tabBean.onTabChange}" update=":form_tab:growl"/>  

        <p:tab title="Godfather Part I" id="Godfather1">  
            <h:panelGrid columns="2" cellpadding="10">
           <h:form id="form" >
           <p:dashboard id="board" model="#{dashboardBean.model}">  

           <p:panel id="sports" header="Status" style="text-align: center; width: 1210px">

            <p:growl id="messages" showDetail="true"/>

            <p:dataTable id="tableList" var="table"   value="#{tableBean.table}"  editable="true" style="font-size: 10px; width: 500px" >

                <p:ajax event="rowEdit" listener="#{tableBean.onEdit}" update=":form:messages"  onstart="return myFunction()" />   
                <p:ajax event="rowEditCancel" listener="#{tableBean.onCancel}" update=":form:messages " oncomplete="javascript:location.reload(true)" onstart="return myFunction2();" />

                                           <p:column  headerText="ID" style="width:30px">
                                               <h:outputText value="#{table.ID}" style="font: medium "/>
                                           </p:column>

                                           <p:column headerText="name" style="width:200px">
                                               <p:cellEditor>
                                               <f:facet name="output">
                                                   <h:outputText value="#{table.name}" />
                                               </f:facet>
                                                   <f:facet name="input">
                                                       <p:inputText value="#{table.name}" style="width:200px"/>
                                               </f:facet>
                                               </p:cellEditor>
                                           </p:column>

                                           <p:column headerText="Date" style="width:100px">
                                               <p:cellEditor>
                                               <f:facet name="output">
                                                   <h:outputText value="#{table.initiateddate}" />
                                               </f:facet>
                                                    <f:facet name="input">
                                               <p:inputText value="#{table.initiateddate}" style="width:100px"/>
                                               </f:facet>
                                               </p:cellEditor>
                                           </p:column>

                                           <p:column headerText="Status">
                                                <p:cellEditor>
                                               <f:facet name="output">
                                                       <h:outputText value="#{table.status}" />
                                               </f:facet>
                                                     <f:facet name="input">
                                               <p:inputText value="#{table.status}" style="width:100px"/>
                                               </f:facet>
                                                </p:cellEditor >
                                           </p:column>

                                          <p:column headerText="TestingDoc">
                                                <p:cellEditor>
                                               <f:facet name="output">
                                                       <h:outputText value="#{table.testingdoc}" />
                                               </f:facet>
                                                     <f:facet name="input">
                                               <p:inputText value="#{table.testingdoc}" style="width:100px"/>
                                               </f:facet>
                                                </p:cellEditor >
                                           </p:column>
                                          <p:column headerText="TestingStartDate">
                                                <p:cellEditor>
                                               <f:facet name="output">
                                                       <h:outputText value="#{table.teststartdate}" />
                                               </f:facet>
                                                     <f:facet name="input">
                                               <p:inputText value="#{table.teststartdate}" style="width:100px"/>
                                               </f:facet>
                                                </p:cellEditor >
                                           </p:column>      
                                          <p:column headerText="ScheduledEndDate">
                                                <p:cellEditor>
                                               <f:facet name="output">
                                                       <h:outputText value="#{table.scheduledenddate}" />
                                               </f:facet>
                                                     <f:facet name="input">
                                               <p:inputText value="#{table.scheduledenddate}" style="width:100px"/>
                                               </f:facet>
                                                </p:cellEditor >
                                           </p:column>         
                                          <p:column headerText="TestStatue">
                                                <p:cellEditor>
                                               <f:facet name="output">
                                                       <h:outputText value="#{table.teststatus}" />
                                               </f:facet>
                                                     <f:facet name="input">
                                               <p:inputText value="#{table.teststatus}" style="width:100px"/>
                                               </f:facet>
                                                </p:cellEditor >
                                           </p:column>     
                                          <p:column headerText="Revised">
                                                <p:cellEditor>
                                               <f:facet name="output">
                                                       <h:outputText value="#{table.revised}" />
                                               </f:facet>
                                                     <f:facet name="input">
                                               <p:inputText value="#{table.revised}" style="width:100px"/>
                                               </f:facet>
                                                </p:cellEditor >
                                           </p:column>     
                                          <p:column headerText="Launch">
                                                <p:cellEditor>
                                               <f:facet name="output">
                                                       <h:outputText value="#{table.launch}" />
                                               </f:facet>
                                                     <f:facet name="input">
                                               <p:inputText value="#{table.launch}" style="width:100px"/>
                                               </f:facet>
                                                </p:cellEditor >
                                           </p:column> 

                                            <p:column headerText="TestStatus">
                                                <f:facet name="TestStatus">#{msgs.buttonHeader}</f:facet>
                                                     <h:outputLink value="http://localhost:8080/dashboardtables_4/faces/new.xhtml" >
                                                     <h:outputText value="#{table.egoname}" />
                                            <!--<h:commandButton value="{table.egoname}" />-->
                                                     <f:param name="route" value="#{table.egoname}" />
                                                     </h:outputLink>
                                            </p:column>

                                            <p:column headerText="LaunchStatus">
                                                <f:facet name="LaunchStatus">#{msgs.buttonHeader}</f:facet>
                                                    <h:outputLink value="http://localhost:8080/dashboardtables_4/faces/launch.xhtml" >
                                                    <h:outputText value="#{table.name}" />
                                            <!--<h:commandButton value="{table.name}" />-->
                                                    <f:param name="route" value="#{table.name}" />
                                                    </h:outputLink>
                                            </p:column>

                                           <p:column headerText="Options" style="width:50px">
                                               <p:rowEditor/>

                                           </p:column>

                                                   <f:facet name="footer" id="foot"> 

                                                       <h:panelGrid columns="8" cellpadding="5"   id="pane" >
                                                        <h:outputLabel  value="e_name" />
                                                        <p:inputText value="#{tableBean.e_name}"  id="ename" required="false" label="ename" />


                                                        <h:outputLabel value="initiate_date" />
                                                        <p:inputText value="#{tableBean.initiate_ddate}" id="initiatedate" required="false" label="initiatedate" />


                                                        <h:outputLabel value="agreement_status" />
                                                        <p:inputText value="#{tableBean.agreement_status}" id="agreementstatus" required="false" label="agreementstatus" />

                                                        <h:outputLabel value="testing_doc" />
                                                        <p:inputText value="#{tableBean.testing_doc}" id="testingdoc" required="false" label="testingdoc" />

                                                        <h:outputLabel value="teststart_date" />
                                                        <p:inputText value="#{tableBean.teststart_date}" id="teststartdate" required="false" label="teststartdate" />

                                                        <h:outputLabel value="scheduledend_date" />
                                                        <p:inputText value="#{tableBean.scheduledend_date}" id="scheduledenddate" required="false" label="scheduledenddate" />

                                                        <h:outputLabel value="test_status" />
                                                        <p:inputText value="#{tableBean.test_status}" id="teststatus" required="false" label="teststatus" />

                                                        <h:outputLabel value="revised_end" />
                                                        <p:inputText value="#{tableBean.revised_end}" id="revisedend" required="false" label="revisedend" />

                                                        <h:outputLabel value="launc_status" />
                                                        <p:inputText value="#{tableBean.launc_status}" id="launcstatus" required="false" label="launcstatus" />

                                                        <p:commandButton id="loginButton" value="AddNew" update=":form:messages" actionListener="#{tableBean.addNew}" oncomplete="javascript:location.reload(true)" onstart="return myFunction3();"/>
                                                        <p:commandButton type="reset" value="Clear" oncomplete="javascript:location.reload(true)"/>
                                                        </h:panelGrid>

                                            </f:facet>
                                       </p:dataTable>
            </p:panel>  

        </p:dashboard> 



        </h:form>

            </h:panelGrid>  
        </p:tab>  

        <p:tab title="Godfather Part II" id="Godfather2">  
            <h:panelGrid columns="2" cellpadding="10">  
                <p:graphicImage value="/images/godfather/godfather2.jpg" />  
                <h:outputText value=""/>  
            </h:panelGrid>  
        </p:tab>  

        <p:tab title="Godfather Part III" id="Godfather3">  
            <h:panelGrid columns="2" cellpadding="10">  
                <p:graphicImage value="/images/godfather/godfather3.jpg" />  
                <h:outputText value=""/>  
            </h:panelGrid>  
        </p:tab>  

    </p:tabView>  

原因是什么

多谢各位

rubel/php.apk>woouej>?"{{$#R4or}oi4jji4r|<p:growl id="growl" showDetail="true" />  

<p:tabView id="tabView" dynamic="true">  

    <p:ajax event="tabChange" listener="#{tabBean.onTabChange}" update=":form_tab:growl"/>  

    <p:tab title="Godfather Part I" id="Godfather1">  
        <h:panelGrid columns="2" cellpadding="10">
       <h:form id="form" >
       <p:dashboard id="board" model="#{dashboardBean.model}">  

       <p:panel id="sports" header="Status" style="text-align: center; width: 1210px">

        <p:growl id="messages" showDetail="true"/>

        <p:dataTable id="tableList" var="table"   value="#{tableBean.table}"  editable="true" style="font-size: 10px; width: 500px" >

            <p:ajax event="rowEdit" listener="#{tableBean.onEdit}" update=":form:messages"  onstart="return myFunction()" />   
            <p:ajax event="rowEditCancel" listener="#{tableBean.onCancel}" update=":form:messages " oncomplete="javascript:location.reload(true)" onstart="return myFunction2();" />

                                       <p:column  headerText="ID" style="width:30px">
                                           <h:outputText value="#{table.ID}" style="font: medium "/>
                                       </p:column>

                                       <p:column headerText="name" style="width:200px">
                                           <p:cellEditor>
                                           <f:facet name="output">
                                               <h:outputText value="#{table.name}" />
                                           </f:facet>
                                               <f:facet name="input">
                                                   <p:inputText value="#{table.name}" style="width:200px"/>
                                           </f:facet>
                                           </p:cellEditor>
                                       </p:column>

                                       <p:column headerText="Date" style="width:100px">
                                           <p:cellEditor>
                                           <f:facet name="output">
                                               <h:outputText value="#{table.initiateddate}" />
                                           </f:facet>
                                                <f:facet name="input">
                                           <p:inputText value="#{table.initiateddate}" style="width:100px"/>
                                           </f:facet>
                                           </p:cellEditor>
                                       </p:column>

                                       <p:column headerText="Status">
                                            <p:cellEditor>
                                           <f:facet name="output">
                                                   <h:outputText value="#{table.status}" />
                                           </f:facet>
                                                 <f:facet name="input">
                                           <p:inputText value="#{table.status}" style="width:100px"/>
                                           </f:facet>
                                            </p:cellEditor >
                                       </p:column>

                                      <p:column headerText="TestingDoc">
                                            <p:cellEditor>
                                           <f:facet name="output">
                                                   <h:outputText value="#{table.testingdoc}" />
                                           </f:facet>
                                                 <f:facet name="input">
                                           <p:inputText value="#{table.testingdoc}" style="width:100px"/>
                                           </f:facet>
                                            </p:cellEditor >
                                       </p:column>
                                      <p:column headerText="TestingStartDate">
                                            <p:cellEditor>
                                           <f:facet name="output">
                                                   <h:outputText value="#{table.teststartdate}" />
                                           </f:facet>
                                                 <f:facet name="input">
                                           <p:inputText value="#{table.teststartdate}" style="width:100px"/>
                                           </f:facet>
                                            </p:cellEditor >
                                       </p:column>      
                                      <p:column headerText="ScheduledEndDate">
                                            <p:cellEditor>
                                           <f:facet name="output">
                                                   <h:outputText value="#{table.scheduledenddate}" />
                                           </f:facet>
                                                 <f:facet name="input">
                                           <p:inputText value="#{table.scheduledenddate}" style="width:100px"/>
                                           </f:facet>
                                            </p:cellEditor >
                                       </p:column>         
                                      <p:column headerText="TestStatue">
                                            <p:cellEditor>
                                           <f:facet name="output">
                                                   <h:outputText value="#{table.teststatus}" />
                                           </f:facet>
                                                 <f:facet name="input">
                                           <p:inputText value="#{table.teststatus}" style="width:100px"/>
                                           </f:facet>
                                            </p:cellEditor >
                                       </p:column>     
                                      <p:column headerText="Revised">
                                            <p:cellEditor>
                                           <f:facet name="output">
                                                   <h:outputText value="#{table.revised}" />
                                           </f:facet>
                                                 <f:facet name="input">
                                           <p:inputText value="#{table.revised}" style="width:100px"/>
                                           </f:facet>
                                            </p:cellEditor >
                                       </p:column>     
                                      <p:column headerText="Launch">
                                            <p:cellEditor>
                                           <f:facet name="output">
                                                   <h:outputText value="#{table.launch}" />
                                           </f:facet>
                                                 <f:facet name="input">
                                           <p:inputText value="#{table.launch}" style="width:100px"/>
                                           </f:facet>
                                            </p:cellEditor >
                                       </p:column> 

                                        <p:column headerText="TestStatus">
                                            <f:facet name="TestStatus">#{msgs.buttonHeader}</f:facet>
                                                 <h:outputLink value="http://localhost:8080/dashboardtables_4/faces/new.xhtml" >
                                                 <h:outputText value="#{table.egoname}" />
                                        <!--<h:commandButton value="{table.egoname}" />-->
                                                 <f:param name="route" value="#{table.egoname}" />
                                                 </h:outputLink>
                                        </p:column>

                                        <p:column headerText="LaunchStatus">
                                            <f:facet name="LaunchStatus">#{msgs.buttonHeader}</f:facet>
                                                <h:outputLink value="http://localhost:8080/dashboardtables_4/faces/launch.xhtml" >
                                                <h:outputText value="#{table.name}" />
                                        <!--<h:commandButton value="{table.name}" />-->
                                                <f:param name="route" value="#{table.name}" />
                                                </h:outputLink>
                                        </p:column>

                                       <p:column headerText="Options" style="width:50px">
                                           <p:rowEditor/>

                                       </p:column>

                                               <f:facet name="footer" id="foot"> 

                                                   <h:panelGrid columns="8" cellpadding="5"   id="pane" >
                                                    <h:outputLabel  value="e_name" />
                                                    <p:inputText value="#{tableBean.e_name}"  id="ename" required="false" label="ename" />


                                                    <h:outputLabel value="initiate_date" />
                                                    <p:inputText value="#{tableBean.initiate_ddate}" id="initiatedate" required="false" label="initiatedate" />


                                                    <h:outputLabel value="agreement_status" />
                                                    <p:inputText value="#{tableBean.agreement_status}" id="agreementstatus" required="false" label="agreementstatus" />

                                                    <h:outputLabel value="testing_doc" />
                                                    <p:inputText value="#{tableBean.testing_doc}" id="testingdoc" required="false" label="testingdoc" />

                                                    <h:outputLabel value="teststart_date" />
                                                    <p:inputText value="#{tableBean.teststart_date}" id="teststartdate" required="false" label="teststartdate" />

                                                    <h:outputLabel value="scheduledend_date" />
                                                    <p:inputText value="#{tableBean.scheduledend_date}" id="scheduledenddate" required="false" label="scheduledenddate" />

                                                    <h:outputLabel value="test_status" />
                                                    <p:inputText value="#{tableBean.test_status}" id="teststatus" required="false" label="teststatus" />

                                                    <h:outputLabel value="revised_end" />
                                                    <p:inputText value="#{tableBean.revised_end}" id="revisedend" required="false" label="revisedend" />

                                                    <h:outputLabel value="launc_status" />
                                                    <p:inputText value="#{tableBean.launc_status}" id="launcstatus" required="false" label="launcstatus" />

                                                    <p:commandButton id="loginButton" value="AddNew" update=":form:messages" actionListener="#{tableBean.addNew}" oncomplete="javascript:location.reload(true)" onstart="return myFunction3();"/>
                                                    <p:commandButton type="reset" value="Clear" oncomplete="javascript:location.reload(true)"/>
                                                    </h:panelGrid>

                                        </f:facet>
                                   </p:dataTable>
        </p:panel>  

    </p:dashboard> 



    </h:form>

        </h:panelGrid>  
    </p:tab>  

    <p:tab title="Godfather Part II" id="Godfather2">  
        <h:panelGrid columns="2" cellpadding="10">  
            <p:graphicImage value="/images/godfather/godfather2.jpg" />  
            <h:outputText value=""/>  
        </h:panelGrid>  
    </p:tab>  

    <p:tab title="Godfather Part III" id="Godfather3">  
        <h:panelGrid columns="2" cellpadding="10">  
            <p:graphicImage value="/images/godfather/godfather3.jpg" />  
            <h:outputText value=""/>  
        </h:panelGrid>  
    </p:tab>  

</p:tabView>
尝试update=growl而不使用任何表单id应该可以。如果您有任何问题,请告诉我。如果您想对多个组件进行ajax更新,可以使用update=growl,secondid,thirdid 请将此代码放入托盘,让我知道它是否正常工作

<h:form id="form">  

<p:panel id="panel" header="New Person" style="margin-bottom:10px;">  
    <p:messages id="messages" />  
    <h:panelGrid columns="3">  
        <h:outputLabel for="firstname" value="Firstname: *" />  
        <p:inputText id="firstname"   
            value="#{pprBean.firstname}" required="true" label="Firstname">  
            <f:validateLength minimum="2" />  
        </p:inputText>  
        <p:message for="firstname" />  

        <h:outputLabel for="surname" value="Surname: *" />  
        <p:inputText id="surname"   
            value="#{pprBean.surname}" required="true" label="Surname"/>  
        <p:message for="surname" />  
    </h:panelGrid>  
</p:panel>  

<p:commandButton value="Ajax Submit" update="panel,display" id="ajax"  
         actionListener="#{pprBean.savePerson}" />  

<p:commandButton value="Non-Ajax Submit" actionListener="#{pprBean.savePerson}"   
        ajax="false" />  

<p:commandButton value="With Icon" actionListener="#{pprBean.savePerson}" id="withIcon"   
        update="panel,display" icon="ui-icon-disk" />  

<p:commandButton actionListener="#{pprBean.savePerson}" update="panel,display" id="iconOnly"  
        icon="ui-icon-disk" title="Icon Only"/>  

<p:commandButton value="Disabled" disabled="true" id="disabled" />  

<p:panel id="display" header="Information" style="margin-top:10px;">  
    <h:panelGrid columns="2">  
        <h:outputText value="Firstname: " />  
        <h:outputText value="#{pprBean.firstname}" />  

        <h:outputText value="Surname: " />  
        <h:outputText value="#{pprBean.surname}" />  
    </h:panelGrid>  
</p:panel>  

请告诉我有关此问题的任何信息?您在哪个组件中提供此id的表单选项卡是什么?表单选项卡是代码开头表单的id。我再次编辑我的代码。请检查它。当然,如果删除所有更新的属性,那么它执行时就没有任何错误。你能发布你测试的代码或者做一件事删除更新并告诉我页面是否呈现吗?当然,如果删除所有更新的属性,那么它执行时就没有任何错误。这个ajaxevent呢?我添加了一个代码请在您的项目中尝试此代码,并让我知道它是否有效?