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:
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,
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 |