ajax没有更新位于另一个组件中的组件<;用户界面:定义

ajax没有更新位于另一个组件中的组件<;用户界面:定义,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,您好,我有一个命令链接,因此当单击它时,我将显示一个字段集 当字段集在同一个中时,一切正常,但当我将其放在一个单独的ui中时:define将不会呈现它 <h:panelGrid columns="3"> <h:panelGrid id="display" header="User Detail" columns="2" cellpadding="4"> <f:facet name="heade

您好,我有一个命令链接,因此当单击它时,我将显示一个字段集 当字段集在同一个
中时,一切正常,但当我将其放在一个单独的ui中时:define将不会呈现它

   <h:panelGrid columns="3">
    <h:panelGrid id="display" header="User Detail" columns="2" cellpadding="4">  

                           <f:facet name="header">  
                             <p:graphicImage value="/images/users/user.png"/>  
                          </f:facet>   

                            <h:outputText value="Login:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="First Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.firstName}" />  

                            <h:outputText value="Email:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.email}" />  

                            <h:outputText value="Phone:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.phoneNumber}" />  

                      </h:panelGrid>  

           <p:pickList id="pickList" value="#{projectAdminisrationMB.selectedUserGroups}" var="group"   
            itemLabel="#{group}" itemValue="#{group}" converter="groupConverter" > 

             <f:facet name="sourceCaption">Belong To</f:facet>  
             <f:facet name="targetCaption">Exclude From</f:facet> 

              <p:column style="width:25%">  
                    <p:graphicImage value="/images/group/#{group.name}.gif" />  
               </p:column>  

             <p:column style="width:75%;">  
                  #{group.name}  
             </p:column> 
              <p:ajax event="transfer" listener="#{projectAdminisrationMB.onTransferGroup}" update=":manageProjeUFform:growl" />  
             </p:pickList>

             <p:commandButton id="saveGroupsBtn" value="Save"  update=":manageProjeUFform:growl" actionListener="#{projectAdminisrationMB.saveUserGroupsModif}"/>  



          </h:panelGrid>
  </p:fieldset>
</h:form>
  </ui:define>
代码如下:

<ui:define name="body">

         <h:form id="manageProjeUFform">  

            <div class="right">

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

             <br/><br/><br/><br/>

<h:panelGrid columns="2" cellpadding="10">  

   <p:column>
            <p:fieldset legend=" Users ">  
               <h:panelGrid columns="2" cellpadding="10">  

             <p:dataTable border="1" value="#{projectAdminisrationMB.projectUsersList}"
                    id="projectUserDt" 
                    var="userObj"
                    rowKey="#{userObj.name}"
                     selection="#{projectAdminisrationMB.selectedExistingProjectUser}"
                     selectionMode="single"
                     rowIndexVar="rowIndex"
                      binding="#{table1}">
                        <p:column id="column1">
                            <f:facet name="header">
                                <h:outputText value="Login"></h:outputText>
                            </f:facet>


                           <h:outputText value="#{userObj.name}"/>  


                        </p:column>
                        <p:column id="column2">
                            <f:facet name="header">
                                <h:outputText value="Entire Name"></h:outputText>
                            </f:facet>
                            <h:outputText value="#{userObj.lastName}"></h:outputText>



                            <h:outputText value="#{userObj.firstName}"></h:outputText>
                         </p:column>


                                <p:column id="column5">
                            <f:facet name="header">
                                <h:outputText value="Groups"></h:outputText>
                            </f:facet>

                             <p:commandLink id="manageUG"  title="Manage User Groups" style="margin-right:5px"  update=":rightContentform:manageUserGroupsFS"   action="#{projectAdminisrationMB.showGroups(userObj)}"  ajax="true"> 
                                   <h:graphicImage value="../images/cssImg/manage-groups-icon.png"   />

                                 <f:setPropertyActionListener target="#{projectAdminisrationMB.selectedUserRow}" value="#{userObj}" />
                                 <f:setPropertyActionListener target="#{projectAdminisrationMB.selectedUserRow.dbRowIndex}" value="#{table.rowIndex}" />

                            </p:commandLink>   



                         </p:column>

                         <f:facet name="footer">  


                  <p:commandButton id="addProjectUserdlg" value=" Add " onclick="dlg1.show()"  />  
                  <p:commandButton id="deleteProjectUserdlg" value=" Delete "  onclick="confirmation.show()"/>  

                          </f:facet> 

                </p:dataTable>
   <h:panelGrid columns="3">
    <h:panelGrid id="display" header="User Detail" columns="2" cellpadding="4">  

                           <f:facet name="header">  
                             <p:graphicImage value="/images/users/user.png"/>  
                          </f:facet>   

                            <h:outputText value="Login:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="First Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.firstName}" />  

                            <h:outputText value="Email:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.email}" />  

                            <h:outputText value="Phone:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.phoneNumber}" />  

                      </h:panelGrid>  

           <p:pickList id="pickList" value="#{projectAdminisrationMB.selectedUserGroups}" var="group"   
            itemLabel="#{group}" itemValue="#{group}" converter="groupConverter" > 

             <f:facet name="sourceCaption">Belong To</f:facet>  
             <f:facet name="targetCaption">Exclude From</f:facet> 

              <p:column style="width:25%">  
                    <p:graphicImage value="/images/group/#{group.name}.gif" />  
               </p:column>  

             <p:column style="width:75%;">  
                  #{group.name}  
             </p:column> 
              <p:ajax event="transfer" listener="#{projectAdminisrationMB.onTransferGroup}" update=":manageProjeUFform:growl" />  
             </p:pickList>

             <p:commandButton id="saveGroupsBtn" value="Save"  update=":manageProjeUFform:growl" actionListener="#{projectAdminisrationMB.saveUserGroupsModif}"/>  



          </h:panelGrid>
  </p:fieldset>
</h:form>
  </ui:define>






   <h:panelGrid columns="3">
    <h:panelGrid id="display" header="User Detail" columns="2" cellpadding="4">  

                           <f:facet name="header">  
                             <p:graphicImage value="/images/users/user.png"/>  
                          </f:facet>   

                            <h:outputText value="Login:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="First Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.firstName}" />  

                            <h:outputText value="Email:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.email}" />  

                            <h:outputText value="Phone:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.phoneNumber}" />  

                      </h:panelGrid>  

           <p:pickList id="pickList" value="#{projectAdminisrationMB.selectedUserGroups}" var="group"   
            itemLabel="#{group}" itemValue="#{group}" converter="groupConverter" > 

             <f:facet name="sourceCaption">Belong To</f:facet>  
             <f:facet name="targetCaption">Exclude From</f:facet> 

              <p:column style="width:25%">  
                    <p:graphicImage value="/images/group/#{group.name}.gif" />  
               </p:column>  

             <p:column style="width:75%;">  
                  #{group.name}  
             </p:column> 
              <p:ajax event="transfer" listener="#{projectAdminisrationMB.onTransferGroup}" update=":manageProjeUFform:growl" />  
             </p:pickList>

             <p:commandButton id="saveGroupsBtn" value="Save"  update=":manageProjeUFform:growl" actionListener="#{projectAdminisrationMB.saveUserGroupsModif}"/>  



          </h:panelGrid>
  </p:fieldset>
</h:form>
  </ui:define>

   <h:panelGrid columns="3">
    <h:panelGrid id="display" header="User Detail" columns="2" cellpadding="4">  

                           <f:facet name="header">  
                             <p:graphicImage value="/images/users/user.png"/>  
                          </f:facet>   

                            <h:outputText value="Login:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="First Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.firstName}" />  

                            <h:outputText value="Email:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.email}" />  

                            <h:outputText value="Phone:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.phoneNumber}" />  

                      </h:panelGrid>  

           <p:pickList id="pickList" value="#{projectAdminisrationMB.selectedUserGroups}" var="group"   
            itemLabel="#{group}" itemValue="#{group}" converter="groupConverter" > 

             <f:facet name="sourceCaption">Belong To</f:facet>  
             <f:facet name="targetCaption">Exclude From</f:facet> 

              <p:column style="width:25%">  
                    <p:graphicImage value="/images/group/#{group.name}.gif" />  
               </p:column>  

             <p:column style="width:75%;">  
                  #{group.name}  
             </p:column> 
              <p:ajax event="transfer" listener="#{projectAdminisrationMB.onTransferGroup}" update=":manageProjeUFform:growl" />  
             </p:pickList>

             <p:commandButton id="saveGroupsBtn" value="Save"  update=":manageProjeUFform:growl" actionListener="#{projectAdminisrationMB.saveUserGroupsModif}"/>  



          </h:panelGrid>
  </p:fieldset>
</h:form>
  </ui:define>

属于
排除
#{group.name}

任何帮助都将不胜感激。

这是解决方案,请尽情享受:)

   <h:panelGrid columns="3">
    <h:panelGrid id="display" header="User Detail" columns="2" cellpadding="4">  

                           <f:facet name="header">  
                             <p:graphicImage value="/images/users/user.png"/>  
                          </f:facet>   

                            <h:outputText value="Login:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="First Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.firstName}" />  

                            <h:outputText value="Email:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.email}" />  

                            <h:outputText value="Phone:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.phoneNumber}" />  

                      </h:panelGrid>  

           <p:pickList id="pickList" value="#{projectAdminisrationMB.selectedUserGroups}" var="group"   
            itemLabel="#{group}" itemValue="#{group}" converter="groupConverter" > 

             <f:facet name="sourceCaption">Belong To</f:facet>  
             <f:facet name="targetCaption">Exclude From</f:facet> 

              <p:column style="width:25%">  
                    <p:graphicImage value="/images/group/#{group.name}.gif" />  
               </p:column>  

             <p:column style="width:75%;">  
                  #{group.name}  
             </p:column> 
              <p:ajax event="transfer" listener="#{projectAdminisrationMB.onTransferGroup}" update=":manageProjeUFform:growl" />  
             </p:pickList>

             <p:commandButton id="saveGroupsBtn" value="Save"  update=":manageProjeUFform:growl" actionListener="#{projectAdminisrationMB.saveUserGroupsModif}"/>  



          </h:panelGrid>
  </p:fieldset>
</h:form>
  </ui:define>


我使用@all来更新ui-define部分,就是它

显然,这是一个模板问题,换句话说,你不能用ajax从另一个“ui:define”更新组件(我们也有同样的问题)最重要的部分是不可见的,缩进是错误的,
选取列表




是不相关的,等等。你能改进你的问题吗?那是相当多的代码噪音。例如,
style=“width:25%”
对于我们通过复制、粘贴和运行给定代码来重现您的具体问题来说是绝对必要的吗?不省略它们就行了。通过这种方式,只需查看代码就可以更快地发现代码中的问题。如果您详细解释您到底更改了什么,这将很有帮助。这在代码噪声中是看不见的。是链接ID属性吗?是链接标题attriubute吗?是链接式属性吗?是链接更新属性吗?这是链接ajax属性吗?等
   <h:panelGrid columns="3">
    <h:panelGrid id="display" header="User Detail" columns="2" cellpadding="4">  

                           <f:facet name="header">  
                             <p:graphicImage value="/images/users/user.png"/>  
                          </f:facet>   

                            <h:outputText value="Login:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.lastName}" />  

                            <h:outputText value="First Name:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.firstName}" />  

                            <h:outputText value="Email:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.email}" />  

                            <h:outputText value="Phone:" />  
                            <h:outputText value="#{projectAdminisrationMB.selectedUserRow.phoneNumber}" />  

                      </h:panelGrid>  

           <p:pickList id="pickList" value="#{projectAdminisrationMB.selectedUserGroups}" var="group"   
            itemLabel="#{group}" itemValue="#{group}" converter="groupConverter" > 

             <f:facet name="sourceCaption">Belong To</f:facet>  
             <f:facet name="targetCaption">Exclude From</f:facet> 

              <p:column style="width:25%">  
                    <p:graphicImage value="/images/group/#{group.name}.gif" />  
               </p:column>  

             <p:column style="width:75%;">  
                  #{group.name}  
             </p:column> 
              <p:ajax event="transfer" listener="#{projectAdminisrationMB.onTransferGroup}" update=":manageProjeUFform:growl" />  
             </p:pickList>

             <p:commandButton id="saveGroupsBtn" value="Save"  update=":manageProjeUFform:growl" actionListener="#{projectAdminisrationMB.saveUserGroupsModif}"/>  



          </h:panelGrid>
  </p:fieldset>
</h:form>
  </ui:define>