Primefaces SelectManyCheckbox с отключенным флажком при загрузке, ведет себя по-разному
Я нашел странное поведение с p:selectManyCheckbox
, При загрузке страницы выбираются два значения флажка и один из них отключается условно. Если я снимаю флажок (не отключен), он также снимает флажок отключенный.
если я пытаюсь отладить код, сеттер обновляется пустым массивом.
Это произойдет только для отключенного флажка. Я использую Primefaces 5.2 и JSF 2.2 версии.
Xhtml
<h:form id="mulitpleCheckboxTest">
<p:selectManyCheckbox id="multicheckBoxTest"
value="#{indexManagedBean.selectedCheckBox}" layout="grid" columns="1">
<f:selectItems value="#{indexManagedBean.checkBoxValues}"
var="number" itemValue="#{number}" itemDisabled="#{'four' eq number}" />
<p:ajax update="@form"></p:ajax>
</p:selectManyCheckbox>
Управляемый Боб:
@ManagedBean
@ViewScoped
public class IndexManagedBean {
private List<String> checkBoxValues;
private List<String> selectedCheckBox;
@PostConstruct
public void init() {
selectedCheckBox = new ArrayList<String>();
checkBoxValues = new ArrayList<String>();
popoulateCheckBoxValues();
selectedCheckBox.add("four");
selectedCheckBox.add("Two");
}
public List<String> getCheckBoxValues() {
return checkBoxValues;
}
public void setCheckBoxValues(List<String> checkBoxValues) {
this.checkBoxValues = checkBoxValues;
}
public List<String> getSelectedCheckBox() {
return selectedCheckBox;
}
public void setSelectedCheckBox(List<String> selectedCheckBox) {
this.selectedCheckBox = selectedCheckBox;
}
private void popoulateCheckBoxValues() {
checkBoxValues.add("One");
checkBoxValues.add("Two");
checkBoxValues.add("Three");
checkBoxValues.add("four");
checkBoxValues.add("five");
checkBoxValues.add("six");
checkBoxValues.add("seven");
checkBoxValues.add("eight");
checkBoxValues.add("nine");
checkBoxValues.add("ten");
}
}