Jsf 2 基于arrayList的panelgroup-编辑arrayList并从内部更新panelgroup

Jsf 2 基于arrayList的panelgroup-编辑arrayList并从内部更新panelgroup,jsf-2,richfaces,Jsf 2,Richfaces,这是以下问题的后续问题: 我现在有2个选项,旁边是commandbutton。按下按钮时,选择下的ul列表将更新为一行,其中包括选择和删除按钮的值 当我按下remove按钮时,我想从bean端和视图中删除行(名称+使用权限对)。该对已从bean端的arraylist中正确删除,但ul列表未更新。当我按F5键时,元素将从列表中删除 当我按下移除按钮时,如何再次渲染panelgroup <h:selectOneMenu value="#{assetUploadForm.currentGroup

这是以下问题的后续问题:

我现在有2个选项,旁边是commandbutton。按下按钮时,选择下的ul列表将更新为一行,其中包括选择和删除按钮的值

当我按下remove按钮时,我想从bean端和视图中删除行(名称+使用权限对)。该对已从bean端的arraylist中正确删除,但ul列表未更新。当我按F5键时,元素将从列表中删除

当我按下移除按钮时,如何再次渲染panelgroup

<h:selectOneMenu value="#{assetUploadForm.currentGroupName}" valueChangeListener="#{assetUploadForm.groupNameChanged}">
   <f:selectItems value="#{assetUploadForm.groupNames}" />
   <a4j:ajax event="valueChange" render="second" execute="@this" />
</h:selectOneMenu>

<h:selectOneMenu value="#{assetUploadForm.currentGroupRW}" valueChangeListener="#{assetUploadForm.groupRWChanged}">
   <f:selectItem itemValue="R" itemLabel="Read"/>
   <f:selectItem itemValue="W" itemLabel="Write"/>
   <a4j:ajax event="valueChange" render="second" execute="@this" />
</h:selectOneMenu>

<a4j:commandButton action="#{assetUploadForm.addGroupRights}" value="add group" render="groupList"/>
<h:panelGroup id="groupList">
<ul>
  <a4j:repeat value="#{assetUploadForm.groupPermissions}" var="permission">
    <li>
      <h:outputText value="#{permission.group.groupName}"/>&nbsp;&nbsp;
      <h:outputText value="#{permission.permissionMode}"/>&nbsp;&nbsp;
      <a4j:commandButton action="#{assetUploadForm.removeGroupPermission}" render="groupList" value="remove">
        <a4j:param value="#{permission.group.groupName}" assignTo="#{assetUploadForm.permissionToRemove}"/>
      </a4j:commandButton>                      
    </li>
  </a4j:repeat> 
</ul>
</h:panelGroup>


将execute=“@this”添加到remove commandButton解决了此问题。

我尝试了一天的各种方法,放弃并提出要求,然后尝试其他方法,效果很好。:)将execute=“@this”添加到remove commandButton解决了此问题。今天晚些时候我会补充答案,我还不能补充,因为我没有足够的声誉。。