> Markdown version of [Auto Generating A Form Based On A Bean Vaadin 6 Style Form](https://vaadin.com/docs/v7/framework/articles/AutoGeneratingAFormBasedOnABeanVaadin6StyleForm). Section index: [llms.txt](https://vaadin.com/docs/v7/framework/llms.txt)

# <a id="auto-generating-a-form-based-on-a-bean-vaadin-6-style-form"></a>Auto-generating a form based on a bean - Vaadin 6 style Form

In Vaadin 6 it is easy to get a completely auto generated form based on a bean instance by creating a `BeanItem` and passing that to a Form. Using `FieldGroup` this requires a few extra lines as `FieldGroup` never adds fields automatically to any layout but instead gives that control to the developer.

Given a bean such as this `Person`:

```java
public class Person {
  private String firstName,lastName;
  private int age;
  // + setters and getters
}
```

You can auto create a form using FieldGroup as follows:

```java
public class AutoGeneratedFormUI extends UI {
  @Override
  public void init(VaadinRequest request) {
    VerticalLayout layout = new VerticalLayout();
    setContent(layout);

    FieldGroup fieldGroup = new BeanFieldGroup<Person>(Person.class);

    // We need an item data source before we create the fields to be able to
    // find the properties, otherwise we have to specify them by hand
    fieldGroup.setItemDataSource(new BeanItem<Person>(new Person("John", "Doe", 34)));

    // Loop through the properties, build fields for them and add the fields
    // to this UI
    for (Object propertyId : fieldGroup.getUnboundPropertyIds()) {
      layout.addComponent(fieldGroup.buildAndBind(propertyId));
    }
  }
}
```
