Java 如何使用NestedBeanPropertyDefinition<;T、 V>;在瓦丁12.0.7?

Java 如何使用NestedBeanPropertyDefinition<;T、 V>;在瓦丁12.0.7?,java,vaadin,vaadin10,Java,Vaadin,Vaadin10,我目前正在尝试使用Vaadin中的绑定器访问对象的嵌套属性。在谷歌搜索了一下之后,我发现了一个参考示例,它很好地总结了我的问题(): 假设您有2个bean: public class Bean { private SubBean sub; // + getter setter } 你认为你应该能做这样的事情: Binder<Bean> binder = new Binder<>(Bean.class); binder.bind(new TextField(), "sub

我目前正在尝试使用Vaadin中的绑定器访问对象的嵌套属性。在谷歌搜索了一下之后,我发现了一个参考示例,它很好地总结了我的问题():

假设您有2个bean:

public class Bean {
private SubBean sub;
// + getter setter
}
你认为你应该能做这样的事情:

Binder<Bean> binder = new Binder<>(Bean.class);
binder.bind(new TextField(), "sub.name");
Binder Binder=新的Binder(Bean.class);
binder.bind(新的TextField(),“sub.name”);
这是如何导致异常的。在讨论了Vaadins存储库之后,这个问题被一个名为
NestedPropertyDefinitions
()的东西解决了

我正在查找它,但只找到了如何使用它或如何使用Vaadin绑定系统轻松访问嵌套属性的任何信息,除了这个


有人能给我解释一下如何使用嵌套属性定义吗?

我发现:

binder.forField(new TextField()).bind("sub.name")
在瓦丁12.0.7工作。它也适用于网格和活页夹。显然,没有必要使用
NestedPropertyDefinitions
来实现嵌套绑定。我的后端有一个bug,它导致了一个错误,使我认为绑定不能正常工作。因此,我仍然不知道是否有其他方法可以实现这一点,或者NestedPropertyDefinitions可以做什么,但我假设它们是由Vaadin内部使用的


根据Cashbees的评论,NestedPropertyDefinitions仅在内部使用,如何处理嵌套属性在本文中被间接引用。

我发现:

binder.forField(new TextField()).bind("sub.name")
在瓦丁12.0.7工作。它也适用于网格和活页夹。显然,没有必要使用
NestedPropertyDefinitions
来实现嵌套绑定。我的后端有一个bug,它导致了一个错误,使我认为绑定不能正常工作。因此,我仍然不知道是否有其他方法可以实现这一点,或者NestedPropertyDefinitions可以做什么,但我假设它们是由Vaadin内部使用的


根据Cashbees的评论,NestedPropertyDefinitions仅在内部使用,如何处理嵌套属性在本文中被间接引用。

IIRC,
binder.bind(new TextField(),“sub.name”)
只是
binder.forField(newtextfield()).bind(“sub.name”)的缩写形式。你确定一个有效,另一个无效吗?谢谢你的回复。错误在我这边!我更新了我的问题。如果Vaadin开发人员能够在此页面上添加一个嵌套的示例,那就太好了:我想下面的3个子菜单点提到了这一点:。嗯,没有用文字提及,但在第一个代码示例中使用。是
NestedPropertyDefinitions
仅在内部使用。当绑定属性名字符串时,它会查看该字符串中是否包含
。如果是,它将自动创建并返回NestedPropertyDefinitionsAh,如果您是对的。我怎么会找不到这个?非常感谢您的帮助和提供的见解,非常感谢!IIRC,
binder.bind(newtextfield(),“sub.name”)
只是
binder.forField(newtextfield()).bind(“sub.name”)的缩写形式。你确定一个有效,另一个无效吗?谢谢你的回复。错误在我这边!我更新了我的问题。如果Vaadin开发人员能够在此页面上添加一个嵌套的示例,那就太好了:我想下面的3个子菜单点提到了这一点:。嗯,没有用文字提及,但在第一个代码示例中使用。是
NestedPropertyDefinitions
仅在内部使用。当绑定属性名字符串时,它会查看该字符串中是否包含
。如果是,它将自动创建并返回NestedPropertyDefinitionsAh,如果您是对的。我怎么会找不到这个?非常感谢您的帮助和提供的见解,非常感谢!