то, что вы сделали, это ... для всех объектов, которые вы связываете с одной и той же переменной, поэтому результатом будет последний элемент выбора item.it будет перезаписан до тех пор, пока все объекты не будут получены.
Решение - ::
создайте одно постоянное логическое свойство в классе разрешений, например isSelected
поместите значение со свойством, например
<ice:selectBooleanCheckbox binding="#{permissionCtrl.checkbox}" value="#{p.selected}"/>
, вы получите значение true или false в свойстве флажкав бобе.
public List<Permission> getSelectedPermissions() {
Permission selectedRow = new Permission();
int size = datas.getRowCount();
List<Permission> selectedPermissions = new ArrayList<Permission>();
for (int i = 0; i < size; i++) {
datas.setRowIndex(i);
selectedRow = (Permission) datas.getRowData();
if (selectedRow.isSelected()) {
selectedPermissions.add(selectedRow);
}
}
return selectedPermissions;
}