2 回答
![?](http://img1.sycdn.imooc.com/545863aa00014aa802200220-100-100.jpg)
TA贡献1830条经验 获得超9个赞
setAvailable
并且getIsAvailable
不是很好的方法名称,因为它们不匹配。因此,如您所知,使用setIsAvailable
或将属性更改为available
并使用setAvailable
/getAvailable
是正确的方法。
Vaadin活页夹使用Java PropertyDescriptor查找getter和setter。这只是在大小写属性名称之前添加get
或set
前缀的一种情况。
从源代码is
可以看出,如果您使用布尔值,则前缀也可以用于getter 。
在这种情况下,你可以有一个布尔属性available
,然后setAvailable
和isAvailable
访问方法。
![?](http://img1.sycdn.imooc.com/545863e80001889e02200220-100-100.jpg)
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
添加回答
举报