将CheckBox控件绑定到XPages中的Bean
在XPage中,我有一个CheckBox控件绑定到bean(称为product)的属性。 如果我将该属性设置为布尔值,如下所示..
private boolean selected = true;
public boolean isSelected() {
return selected;
};
public void setSelected(boolean selected) {
this.selected = selected;
};
并使用EL As绑定复选框#{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中将复选框控件映射到布尔值的错误吗(以前有人这样做过吗?),或者我处理这个问题的方式错了吗?
解决方案
复选框是用于显示"关键字"类型的备注字段内容的一系列选项之一。关键字是具有有限组值的文本字段。虽然您可能会认为复选框是一个布尔型控件,但这并不是它们的原始目的或意图。因此,我不会将8.5.3实现视为错误。如果9.0行为已更改为支持布尔值,那么这是个好消息。
相关文章