Velocity
Velocity ist ein Textprozessor, mit dessen Hilfe aktuelle Daten aus dem Programm in die Vorlage eingetragen werden. Dabei können auch Textteile wiederholt werden oder abhängig von Programmdaten ausgelassen werden.
Hier finden Sie nur eine kurze Beschreibung, weitere Details können Sie auf der Velocity-Website nachlesen.
Variablen
Mit Variablen können Sie Daten aus dem Programm in den Text übernehmen. In der Vorlage verwenden Sie dazu eine Variablenbezeichnung nach einem $-Zeichen.
Die Variablenbezeichnung besteht aus zwei oder mehr Teilen, die durch einen Punkt getrennt sind. Die ersten Teile bestimmen den Zusammenhang, der letzte Teil bezeichnet das gewünschte Feld, z.B. $mieter.name. Eine Auflistung der Feldnamen in den verschiedenen unterstützten Datentypen können Sie hier einsehen.
Bedingte Abschnitte
Diese sind auf folgende Weise aufgebaut:
#if ( Bedingung1 ) Text1 #elseif ( Bedingung2 ) Text2 #else Text3 #end
Das #elseif
und #else
und die darauffolgenden Texte können auch weggelassen werden.
Außerdem kann alles auch zusammen in eine Zeile geschrieben werden.
Die Bedingungen sind entweder Variablennamen oder Ausdrücke. Wenn sie aus einem Variablennamen besteht, wird die Bedingung als wahr angenommen, wenn es sich um eine Boolsche Variable mit dem Wert true handelt. Bei anderen Typen wird wahr angenommen, wenn die Variable definiert ist.
In Ausdrücken kann man die Operatoren ==
, !=
, >
, >=
, <
, <=
, &&
, ||
und !
benutzen
sowie numerische oder String-Konstanten.
Schleifen
Eine Schleife hat folgenden Aufbau:
#foreach( $name in Liste ) Text #end
Liste ist eine Variable mit einer Liste von Werten, die der Variable $name der Reihe nach zugewiesen werden. Dabei wird jedesmal der innerhalb der Schleife angegebene Text ausgegeben. Der Name der Schleifenvariable kann beliebig gewählt werden.
Bedingungen und Schleifen können beliebig geschachtelt werden.
Variablen setzen
Mit #set ($name = Ausdruck)
kann eine Variable definiert und mit einem Wert besetzt werden.
Im Ausdruck können zusätzlich zu den Operatoren aus Bedingungen auch die
Operatoren +
, -
, *
und /
benutzt werden.
Formatierungen
Velocity selber bietet keine Möglichkeit, um Werte zu formatieren, z.B. Datumsangaben.
Deshalb beutzt Mibakus eine Erweiterungsmöglichkeit von Velocity für solche Formatierungen.
Dazu müssen am Beginn des Texts mit #parse( "defaultMacros.vm")
die Erweiterungen aktiviert werden.
Danach stehen die im Folgenden nelisteten Möglichkeiten zur Verfügung.
In allen Fällen ist es notwendig, dass der übergebene Datentyp zur geplanten Ausgabe passt.
Syntax | Bedeutung |
---|---|
#betrag(Wert) |
Gibt Wert als Betrag mit 2 Nachkommastellen aus |
#euroBetrag(Wert) |
Wie vor mit €-Zeichen davor |
#optBetrag(Wert) |
Wie #betrag , wenn Wert definiert ist, sonst wird keine Ausgabe erzeugt |
#datum(Wert) |
Formatiert ein Datum im Format DD.MM.JJJJ |
#iban(Wert) |
Formatiert eine IBAN |
#mieterName(Wert) |
Gibt den Mieternamen aus Vorname und Name aus (erfordert einen Kontakt als Wert) |
Sonstiges
Alle Variablen und Schlüsselworte können alternativ auch als ${name} bzw. #{name} geschrieben werden.
Das ist nötig, wenn keine überflüssigen Leerzeichen entstehen sollen,
z.B. bei #if($wert)$wert#{else}nein#endif