在XPage中,我有一个CheckBox控件绑定到bean的一个属性(称为product)。 如果我作出这样的属性,像这样的布尔..在XPage中将CheckBox控件绑定到Bean
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中的一个bug,将复选框控件映射到布尔值(以前有人做过?),还是我以错误的方式处理?
我很惊讶它可以在Notes 9中工作,因为Notes中的行为始终是将复选框值存储为字符串。所以,不,我不是这是8.5.3中的一个bug,而是Notes 9中的一个新功能。 – 2013-03-21 18:49:06
谢谢大卫。我认为,假设XPages控件纯粹是绑定到一个笔记文档数据源,如果是这样,我完全理解为什么复选框需要指向一个字符串值。如果有绑定到任何潜在的数据源,如豆,那么我会期望布尔值工作。我将在Notes 9中将其视为新的且有用的功能,并在早期版本中使用字符串值。干杯! – 2013-03-22 19:26:45