将CheckBox控件绑定到XPage中的Bean

时间:2013-03-21 11:46:18

标签: java xpages

在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中的错误,将复选框控件映射到布尔值(之前有人做过吗?),还是我接近错误的方式?

1 个答案:

答案 0 :(得分:0)

复选框是显示“关键字”类型的Notes字段内容的一系列选项之一。关键字是具有有限值集的文本字段。虽然您可能认为Checkbox是一个布尔控件,而不是它的原始目的或意图。所以我不会将8.5.3实现视为一个错误。如果9.0行为已更改为支持布尔值,那么这是个好消息。