Automatic Binding
webforJ bietet mehrere Funktionen, die den Konfigurations- und automatischen Bindungsprozess für Entwickler optimieren. In diesem Abschnitt wird gezeigt, wie diese Funktionen effektiv genutzt werden können.
Verwendung von BindingContext.of
Die Methode BindingContext.of
bindet automatisch UI-Komponenten an die Eigenschaften einer bestimmten Bean-Klasse, was den Bindungsprozess vereinfacht und die manuelle Einrichtung reduziert. Sie gleicht bindbare Komponenten, die als Felder innerhalb eines Formulars oder einer App deklariert sind, mit Bean-Eigenschaften anhand ihrer Namen ab.
public class HeroRegistration extends App {
// Bindbare Komponenten
TextField name = new TextField("Textfeld");
ComboBox power = new ComboBox("Kraft");
// ...
@Override
public void run() throws WebforjException {
BindingContext<Hero> context = BindingContext.of(this, Hero.class, true);
// ...
}
}
public class Hero {
private String name;
private String power;
// Setters und Getters
}
UseProperty
Annotation
Verwenden Sie die Annotation UseProperty
, um den Namen der Bean-Eigenschaft anzugeben, wenn der Name des UI-Feldes nicht mit dem Namen der Bean-Eigenschaft übereinstimmt.
public class HeroRegistration extends App {
// Bindbare Komponenten
@UseProperty("name")
TextField nameField = new TextField("Textfeld");
ComboBox power = new ComboBox("Kraft");
// ...
}
Im obigen Beispiel lautet der Name des UI-Feldes nameField
, aber die Bean-Eigenschaft ist name
. Sie können das UI-Feld mit dem Namen der Bean-Eigenschaft annotieren, um eine ordnungsgemäße Bindung sicherzustellen.
BindingExclude
Annotation
Verwenden Sie die Annotation BindingExclude
, um eine Komponente von automatischen Bindungskonfigurationen auszuschließen, wenn Sie sie manuell binden oder ganz ausschließen möchten.
public class HeroRegistration extends App {
// Bindbare Komponenten
@UseProperty("name")
TextField nameField = new TextField("Textfeld");
@BindingExclude
ComboBox power = new ComboBox("Kraft");
// ...
}