2 回答
TA贡献1830条经验 获得超9个赞
setAvailable并且getIsAvailable不是很好的方法名称,因为它们不匹配。因此,如您所知,使用setIsAvailable或将属性更改为available并使用setAvailable/getAvailable是正确的方法。
Vaadin活页夹使用Java PropertyDescriptor查找getter和setter。这只是在大小写属性名称之前添加get或set前缀的一种情况。
从源代码is可以看出,如果您使用布尔值,则前缀也可以用于getter 。
在这种情况下,你可以有一个布尔属性available,然后setAvailable和isAvailable访问方法。
TA贡献1829条经验 获得超9个赞
我这太尴尬了!原来我的二传手命名不正确..因此能够读取但不能写入。
字段和实例数据为“ isAvailable”,因此系统正在寻找InventoryItem.setisAvailable(String available),但该方法名为setAvailable。
使用时binder.forField(field).bind(Object::getter, Object::setter),解决方案有效。只需传递您的方法名称即可。 但是,分别在对象的类中binder.forMemberField(field).bind("value")寻找getValue和setValue方法。在这种情况下,您可以选择修改您的getter / setter名称或使用binder.forField

添加回答
举报
