将字段绑定(bind)到 bean 有两种方法:
使用
FieldGroup
并将 Bean 包装在BeanItem
中:final FieldGroup fieldGroup = new FieldGroup(new BeanItem<DataBean>(dataBean));
使用
BeanFieldGroup
,在这种情况下,bean 也将被包装到底层的BeanItem
中:final BeanFieldGroup<DataBean> beanBinder = new BeanFieldGroup<>(DataBean.class); beanBinder.setItemDataSource(dataBean);
恕我直言,使用 FieldGroup
实际上更简单,使用 BeanFieldGroup
有什么优势吗?
最佳答案
BeanFielGroup是FieldGroup的扩展,除了FieldGroup的属性之外它还支持
- Java Bean 验证 API 1.0 (JSR-303)
- 处理嵌套属性。
- 用于添加各种字段的某些帮助程序方法。
根据您的用例,您可以选择其中任何一个。如果您通过 Pojo 管理表单/布局,我建议您应该使用 BeanFieldGroup 而不是 FieldGroup,如果您有松散耦合的属性,我建议您使用 FieldGroup 而不是 BeanFieldGroup
关于vaadin - BeanFieldGroup 与 FieldGroup 与 BeanItem 的比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957656/