Konfiguration per Properties

In der Konfigurations-Datei form-engine.properties, die direkt Classpath abgelegt sein muss, können einige Einstellungen getroffen werden, die das Standardverhalten von Formularen festlegen. Die wichtigsten davon werden hier vorgestellt.

Eingaben in einem Formular führen zu dynamischen Änderungen unterschiedlicher Aspekte in diesem Formular. So können die Validierer anderer Komponenten erneut ausgeführt werden, wenn deren Validierung von der geänderten Komponente abhängen oder die Sichtbarkeit einer Komponente davon beeinflusst wird. Um den Ressourcen-Bedarf bei der Ausführung von Formularen zu reduzieren, sind diese dynamischen Auswertungen der Abhängigkeiten nicht für alle Aspekte standardmäßig aktiviert. Durch Properties können diese Standardeinstellungen aber geändert werden.

  • engine.dynamic-validation legt fest, ob Validierer von Komponenten, die den Zustand anderer Komponenten berücksichtigen, erneut ausgeführt werden sollen, wenn Änderungen an diesen Komponenten vorgenommen werden. Das kann z.B. durch eine Änderung des Wertes durch den Anwenders oder durch einen Kalkulator der Fall sein.
    Standardwert: true
  • engine.dynamic-readonly legt fest, ob die Editierbarkeit von Komponenten, die vom Inhalt oder Zustand anderer Komponenten abhängen, dynamisch angepasst werden soll, wenn Änderungen an den anderen Komponenten vorgenommen werden. Standardwert: false, so dass der readonly-Zustand nur beim initialen Laden der Formular-Instanz ermittelt und festgelegt wird.
  • engine.dynamic-hidden legt fest, ob die Sichtbarkeit von Komponenten, die vom Inhalt oder Zustand anderer Komponenten abhängen, dynamisch angepasst werden soll, wenn Änderungen an den anderen Komponenten vorgenommen werden. Standardwert: false, so dass der hidden-Zustand nur beim initialen Laden der Formular-Instanz ermittelt und festgelegt wird.

Um alle Aspekte des Formulars dynamisch auszuwerten, können die Standardeinstellung wie folgt festgelegt werden. Diese Einstellungen können sich außerdem für jede Formulardefinition über gleichnamige Attribute überschrieben werden.

engine.dynamic-validation = true
engine.dynamic-readonly = true
engine.dynamic-hidden = true

Weitere wichtige Einstellungen sind das Encoding und das Standard-Locale.
Wenn für die Übersetzung und Ausgabe eines Textes kein Locale angegeben wird, wird normalerweise das System-Encoding verwendet. Da dieses nicht immer unter Kontrolle des Anwendungsentwicklers liegt, kann das Default Locale für die Formular-Inhalte über das Property defaultLocale festgelegt werden.

Bei Ajax-Requests ist das Page-Encoding der Ausgangsseite häufig unbekannt, bzw. die Browser verwenden bei fehlender Encoding-Deklaration im Response unterschiedliche Encodings. Mit dem Property pageEncoding kann festgelegt werden, welches Encoding für Ajax-Requests im Response-Header gesendet werden soll. Dieses sollte dann dem üblichen Encoding der Web-Anwendung entsprechen.

engine.pageEncoding=UTF-8
engine.defaultLocale=de

Alle weiteren Properties sind in der Klasse EngineProperties dokumentiert. Die javadoc-Dokumentation ist im Archiv enthalten, dass im Download-Bereich heruntergeladen werden kann.