---
title: 'Ext GWT BeanBinding Beispiel'
url: 'https://www.tutego.de/blog/javainsel/2009/05/ext-gwt-beanbinding-beispiel'
markdown: 'https://www.tutego.de/blog/javainsel/2009/05/ext-gwt-beanbinding-beispiel.md'
date: '2009-05-19'
description: 'Ext GWT bietet eine einfache Möglichkeit, JavaBeans an Formulare zu binden. Im ersten Schritt muss die Bean dazu vorbereitet werden. Die JavaBean implementiert das Marker-Interface com.extjs.gxt.ui.client.data.BeanModelTag. Will man’s nicht-invasiv, so deklariert man ein Zusatz-Interface, was Bean…'
taxonomy:
  category:
    - GWT
    - 'Web Frameworks'
---

# Ext GWT BeanBinding Beispiel

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Ext GWT BeanBinding Beispiel

19.05.2009 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Ext GWT bietet eine einfache Möglichkeit, JavaBeans an Formulare zu binden. Im ersten Schritt muss die Bean dazu vorbereitet werden.

1. Die JavaBean implementiert das Marker-Interface `com.extjs.gxt.ui.client.data.BeanModelTag`.
2. Will man’s nicht-invasiv, so deklariert man ein Zusatz-Interface, was BeanModelMarker erweitert und hängt dort eine spezielle Zusatz-Annotation an, mit dem Verweise auf die JavaBean.

Gebunden werden soll der Titel eines Seminars an das Textfeld `titleTextField` auf dem FormPanel:

```java
FormPanel courseDescriptionPanel = new FormPanel();

TextField<String> titleTextField = new TextField<String>();
titleTextField.setFieldLabel( "Kurstitel" );
titleTextField.setName( "title" );
titleTextField.setAllowBlank( false );
courseDescriptionPanel.add( titleTextField );
```

Im nächsten Schritt kann man die Bean aufbauen und etwa mit Werten aus einem Service füllen:

```java
Course c = new Course();
c.setTitle( "ejb super kurs" );
```

Dann wird um diese Standard-JavaBean eine Ext GWT-Klasse gelegt, quasi ein Wrapper:

```java
BeanModel userModel = BeanModelLookup.get().getFactory(Course.class).createModel( c );
```

Dieses BeanModel wird als nächstes mit dem FormPanel verbunden, auf dem das Texteingabefeld liegt.

```java
FormBinding formBindingCourse = new FormBinding( courseDescriptionPanel );
```

Und das muss mit dem BeanModel (dem Wrapper um das Exemplar unserer JavaBean) verbunden werden:

```java
formBindingCourse.bind( userModel );
```

Nun kennt der `formBindingCourse` die Bean, aber noch nicht, welches Gui-Element eigentlich mit welcher Property verbunden ist. Das kann man mit `autoBind()` automatisieren, oder aber mit `addFieldBinding()` manuell für jedes Element setzen. Bei unserem Textfeld heißt das:

```java
formBindingCourse.addFieldBinding( new FieldBinding( titleTextField, "title" ) );
```

Jede Änderung an der Gui wird nun an die Bean weitergeben.

Weiteres Infos unter [http://extjs.com/blog/2008/07/14/preview-java-bean-support-with-ext-gwt/](http://extjs.com/blog/2008/07/14/preview-java-bean-support-with-ext-gwt/ "http://extjs.com/blog/2008/07/14/preview-java-bean-support-with-ext-gwt/") oder in Foren-Beispielen.

Kategorien: [GWT](https://www.tutego.de/blog/javainsel/category/gwt/), [Web Frameworks](https://www.tutego.de/blog/javainsel/category/web-frameworks/)

## 1 Kommentare

**Max Reeb** · [09.04.2010 23:15](#comment-62)

Konnte das Binding leider nicht realisieren da BeanModelLookup.get() "stets" null liefert??

Die bisherigen Kommentare wurden aus WordPress übernommen. Neue Kommentare sind derzeit geschlossen.

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Wenn Captchas zu langweilig sind, wie wär’s mit Kätzchen?](https://www.tutego.de/blog/javainsel/2009/05/wenn-captchas-zu-langweilig-sind-wie-war%e2%80%99s-mit-katzchen.md)
- Next: [Ext GWT Beispiel einer editierbaren Tabelle](https://www.tutego.de/blog/javainsel/2009/05/ext-gwt-beispiel-einer-editierbaren-tabelle.md)
