BeanFieldGroup与带有BeanItem的FieldGroup?

时间:2014-11-16 13:47:55

标签: vaadin vaadin7

将字段绑定到bean时有两种方法:

  1. 使用FieldGroup并将bean包装在BeanItem

    final FieldGroup fieldGroup = new FieldGroup(new BeanItem<DataBean>(dataBean));
    
  2. 使用BeanFieldGroup,在这种情况下,bean也将被包裹在引擎盖下的BeanItem中:

    final BeanFieldGroup<DataBean> beanBinder = new BeanFieldGroup<>(DataBean.class);
    beanBinder.setItemDataSource(dataBean);
    
  3. 使用FieldGroup的恕我直言实际上更简单,使用BeanFieldGroup有什么好处吗?

1 个答案:

答案 0 :(得分:2)

BeanFielGroup是FieldGroup的扩展,除了FieldGroup的属性外,它还支持

  • Java Bean验证API 1.0(JSR-303)
  • 处理嵌套属性。
  • 添加各种字段的某些Helper方法。

根据您的使用案例,您可以选择其中任何一种。如果您通过Pojo管理表单/布局,我建议你应该使用BeanFieldGroup而不是FieldGroup,如果你有松散耦合的属性,我建议使用BeanFieldGroup上的FieldGroup