在XPage中,我有一个绑定到bean属性(称为product)的CheckBox控件。 如果我将该属性设置为类似的布尔值..
private boolean selected = true;
public boolean isSelected() {
return selected;
};
public void setSelected(boolean selected) {
this.selected = selected;
};
并使用EL作为#{product.selected)
绑定该复选框,然后该页面最初打开正常但挂起部分刷新,但我在日志中看不到任何错误。
如果我在bean中添加另一个包装器getter / setter来返回如下所示的文本版本:
public String getSelectedTxt() {
return String.valueOf(selected);
}
public void setSelectedTxt(String selectedTxt) {
selected = Boolean.parseBoolean(selectedTxt);
}
然后将复选框绑定到#{product.selectedTxt}
并制作uncheckedValue="false"
和checkedValue="true"
。它有效!
在版本9中,它直接针对布尔版本而无需转换为文本。
所以问题是这听起来像8.5.3中的错误,将复选框控件映射到布尔值(之前有人做过吗?),还是我接近错误的方式?
答案 0 :(得分:0)
复选框是显示“关键字”类型的Notes字段内容的一系列选项之一。关键字是具有有限值集的文本字段。虽然您可能认为Checkbox是一个布尔控件,而不是它的原始目的或意图。所以我不会将8.5.3实现视为一个错误。如果9.0行为已更改为支持布尔值,那么这是个好消息。