소스 검색

Migrate AutoGeneratingAFormBasedOnABeanVaadin6StyleForm

tags/7.7.11
Erik Lumme 6 년 전
부모
커밋
40236881ce
2개의 변경된 파일46개의 추가작업 그리고 0개의 파일을 삭제
  1. 45
    0
      documentation/articles/AutoGeneratingAFormBasedOnABeanVaadin6StyleForm.asciidoc
  2. 1
    0
      documentation/articles/contents.asciidoc

+ 45
- 0
documentation/articles/AutoGeneratingAFormBasedOnABeanVaadin6StyleForm.asciidoc 파일 보기

@@ -0,0 +1,45 @@
[[auto-generating-a-form-based-on-a-bean-vaadin-6-style-form]]
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`:

[source,java]
....
public class Person {
private String firstName,lastName;
private int age;
// + setters and getters
}
....

You can auto create a form using FieldGroup as follows:

[source,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));
}
}
}
....

+ 1
- 0
documentation/articles/contents.asciidoc 파일 보기

@@ -21,3 +21,4 @@
- link:AddingJPAToTheAddressBookDemo.asciidoc[Adding JPA to the address book demo]
- link:SimplifiedRPCusingJavaScript.asciidoc[Simplified RPC using JavaScript]
- link:JMeterTesting.asciidoc[JMeter testing]
- link:AutoGeneratingAFormBasedOnABeanVaadin6StyleForm.asciidoc[Auto-generating a form based on a bean - Vaadin 6 style Form]

Loading…
취소
저장