ajax不会更新位于另一个< ui:define中的组件 [英] ajax is not updating a component situated in another <ui:define

查看:44
本文介绍了ajax不会更新位于另一个< ui:define中的组件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个命令链接,因此当我单击它action="#{projectAdminisrationMB.showGroups(userObj)}"时,将重新显示一个字段集<p:fieldset legend="Manage User Groups" id="manageUserGroupsFS" rendered="#{projectAdminisrationMB.manageUserGroupsFSFlag}"> 当字段集位于相同的<ui:define name="body">中时,一切正常,但是当我将其放在单独的ui:define中时,它将不会呈现.

Hi i have a command link so when click it i action="#{projectAdminisrationMB.showGroups(userObj)}" a fieldset will be rendred <p:fieldset legend="Manage User Groups" id="manageUserGroupsFS" rendered="#{projectAdminisrationMB.manageUserGroupsFSFlag}"> when the fieldset was in the same <ui:define name="body"> everything works but when i put it in a separated ui:define it will not be rendered.

这是代码:

<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>  
             </p:fieldset>  

        </div>

         </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>

任何帮助将不胜感激.

推荐答案

这是享受它的解决方案:)

here's the solution enjoy it :)

<p:commandLink id="manageUG"  title="Manage User Groups" style="margin-right:5px"  
 update="@all"   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>

我使用@all更新了ui定义部分

i used @all to update the ui define section that's it

这篇关于ajax不会更新位于另一个&lt; ui:define中的组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆