Syntaxregeln der Velocity-Makros

Velocity-Makros unterliegen bestimmten Syntaxregeln.

Syntax einer Anweisung (Velocity-Makro)

Beschreibung

$

Präfix für eine Variable. Eine Variable setzt sich aus $ und dem Variablennamen zusammen. Dadurch wird der Inhalt der Variablen wird ausgegeben.

Beispiel: $objectName

$variablenname

Definition einer Variable. Ein Variablenname hat folgenden Aufbau:

  1. Zeichen ist ein $-Zeichen

  2. Zeichen ist Groß- oder Kleinbuchstabe (alphabetisch)

  3. und alle folgenden Zeichen müssen Zeichen aus folgenden Bereichen sein: a-z,A-Z,0-9,_-

Beispiel: $mitarbeiter_rolle3

#

Präfix eines Befehls

Beispiel: #if

##

Einzeiliger Kommentar

Beispiel: ## Dies ist ein einzeiliger Kommentar

#* ....... *#

Mehrzeiliger Kommentar

Beispiel: #* Dies ist ein mehrzeiliger Kommentar ..'Zeile 2'.. ..'Zeile10' *#

#set($variable=wert)

Variablendeklaration. Der Variable wird ein Wert zugewiesen.

Hinweis: Wenn die Variable vorher nicht existiert hat, wird sie hier auch gleichzeitig definiert.

Beispiel: #set($währung="€")

einfache #if-Anweisung

#if(bedingung)[bedingte anweisung=""]#end

Die Bedingung steht in runden Klammern ( ). Wenn die Bedingung wahr ist, dann wird die bedingte Anweisung ausgeführt.

Die Anweisung wird in eckigen Klammern [ ] angegeben und wird bei erfüllter Bedingung ausgeführt.

Beispiel:  

Wenn die Objektkategorie = "Mitarbeiter" ist, dann wird die Bezeichnung des Mitarbeiters ausgegeben:

#if($objectCategoryName=="Mitarbeiter")[$objectName]#end

Beispiel: Wenn die Kurzbezeichnung des Objekts einen Wert enthält, dann wird die Kurzbezeichnung ausgegeben:

#if($objectShortName)[$objectShortName]

Achtung: Der Test, ob eine Variable einen Wert enthält, sollte immer #if($variablenname) sein. Die Form #if($variablenname!=" ") liefert einen Fehler.

Beispiel: Für die Ausgabe von "Objektkategorie: Objektname", z. B. "Mitarbeiter: Schmitt", verwenden Sie folgende Anweisung:

$objectCategoryName: $objectName

Hinweis: Stellen Sie bei Ausgabe ohne Bedingung sicher, dass die Variable immer einen Wert hat. Objekte haben z. B. immer eine Bezeichnung.

#if-Anweisung mit Else-Zweig

#if(bedingung1)[bed. anweisung1=""] #else[anweisung2] #end

oder

#if(bedingung1)[bed. anweisung1=""] #elseif(bedingung2)[bed. anweisung2] #else[anweisung3] #end

Beispiel: Eine #if-Anweisung mit Else-Zweig eignet sich für folgenden Fall:

Wenn die Kategorie des Objekts eine Rolle ist, wird die Rolle: "bezeichnung" ausgegeben,

andernfalls: wenn die Kategorie des Objekts ein Mitarbeiter ist,
wird Mitarbeiter: "bezeichnung" ausgegeben,


sonst: wenn keine Bedingung erfüllt ist, wird "bezeichnung" ausgegeben.

Hierfür verwenden Sie folgende Anweisung:

#if($objectCategoryName=="Rolle")[Rolle: $objectName] #elseif($objectCategoryName=="Mitarbeiter")[Mitarbeiter: $objectName] #else[$objectName] #end

#forEach(variable in werte-liste) anweisung#end

Die forEach-Schleife durchläuft eine Werte-Liste (Array) und speichert bei jedem Durchlauf den aktuellen Listen-Wert in einer Variablen. Diese Variable kann in einer Anweisung verwendet werden, die bei jedem Schleifendurchlauf ausgeführt wird. Die Schleife ist beendet, wenn alle Listen-Werte abgearbeitet sind.

Beispiel: Die forEach-Schleife #foreach($daddy in $object.Parents) $daddy.VisibleName#end erzeugt folgende Ausgabe:

$daddy = definierte Variable

$object.Parents = Die Methode "Parents" gibt eine Werte-Liste aus, die Modellobjekte der Klasse "Object"enthält. Pro Durchlauf wird ein Modellobjekt der Klasse"Object" in der Variablen "$daddy"gespeichert. "VisibleName" ist eine Methode der Klasse "Object" und gibt die Bezeichnung des Objekts aus.

==

Test auf Gleichheit

!=

nicht gleich (Test auf Ungleichheit)

II

Oder-Verknüpfung (kein Exklusiv-Oder)

&&

Und-Verknüpfung