установите флажок Все в JSF без использования Javascript

Я пытаюсь установить / снять все флажки в таблице данных, используя один флажок. Поскольку я пытаюсь установить его на сервере, я не могу этого сделать. Я искал решения, но не мог понять, как этого добиться на стороне сервера.

Вот код

XML-файл ###

<rich:column styleClass="center-aligned-text">
         <f:facet name="header">
          <h:selectBooleanCheckbox id="selectAll" title="selectAll" valueChangeListener="#{workspace.selectAllComponents}">
           <a4j:support event="onclick" reRender="listcomponents"/>
          </h:selectBooleanCheckbox>
         </f:facet>

         <h:selectBooleanCheckbox id="selectComponent" 
          value="#{workspace.selectedComponentIds[componentInfo.id]}">
         </h:selectBooleanCheckbox>
        </rich:column>

Файл Java

// Select All and delete
 public void selectAllComponents(ValueChangeEvent event){

  // If the check all button is checked, set all the checkboxes as selected 
  if(!selectAll)
  {
   changeMap(selectedComponentIds,true);
   setSelectAll(true);
  }
  else // If the button is unchecked, unselect all the checkboxes
  { 
   changeMap(selectedComponentIds,false);
   setSelectAll(false);
  }
 }

 public void changeMap(Map<Long,Boolean> selectedComponentMap, Boolean blnValue){
  if(selectedComponentMap != null){
   Iterator<Long> itr = selectedComponentMap.keySet().iterator();
   while(itr.hasNext()){
    selectedComponentMap.put(itr.next(), blnValue);
   }
   setSelectedComponentIds(selectedComponentMap);
  }
 }

Я отмечаю все значения в списке какtrue когда флажок установлен иfalse когда не проверено.

Но страница не перезагружает данные должным образом.

Правильный ли мой подход к проблеме? Или есть эффективная альтернатива?

Ответы на вопрос(2)

Ваш ответ на вопрос