Bisher wurden Variablen im C#‑Code‑Behind definiert und danach in Templates verwendet. Man kann Variablen aber auch direkt im Template über die set‑Anweisung festlegen.
1. Variablen definieren mit #set()
Zwei Möglichkeiten zur Variablendefinition:
Methode 1: Variablen im Backend‑Code (C#/Java) vorab definieren und im Template auslesen;
Methode 2: Variablen direkt im Template mit#set()festlegen (Hauptthema dieser Lektion)
#set($name = "hello foxdevelop.com")
#set($okay = "common baby")
#set($nameokay = "$name|$okay")Code-Sprache: PHP (php)
#set(Variable = Wert)unterstützt Zeichenketten, Zahlen, Arrays, Objekteigenschaften und Zuweisungen aus anderen Variablen- Schwache Typisierung; es ist keine Typdeklaration nötig
2. Zwei Schreibweisen und Regeln für die Variablenausgabe
2.1 Grundformen
$name: Existiert die Variable nicht, wird der Text$nameunverändert ausgegeben$!name: Stille Ausgabe; gibt leeren Inhalt aus, falls die Variable fehlt (empfohlen, um fremde$xxx‑Texte auf der Seite zu vermeiden)- Empfohlene Standardschreibweise:
${name}(geschweifte Klammern grenzen den Variablennamen klar ab)
2.2 Beispiel für Abgrenzungsprobleme
#set($name = "hello")
$namehello × Der Motor interpretiert es als Variable $namehello und findet nichts
${name}hello √ Korrekt: löst $name auf und hängt den Text hello anCode-Sprache: PHP (php)
3. Einzeilige Kommentare ##
## Dies ist ein Kommentar, er erscheint nicht im fertigen Output
#set($name = "test") ## Kommentare am Zeilenende sind ebenfalls erlaubtCode-Sprache: PHP (php)
- Kommentare werdennicht in die gerenderte Seite übernommen;
- Sie sind auch im Quelltext der Seite im Browser nicht sichtbar (werden schon bei der Template‑Verarbeitung verworfen).
4. Von #set unterstützte Zuweisungstypen
## Zeichenkettenzuweisung
#set($name = "hello world")
## Variable einer anderen Variable zuweisen
#set($obj= $name)
## Objekteigenschaften belegen
#set($obj.Friend = "monica")
#set($obj.Blame = $whitehouse.Leak)
## Methode aufrufen und Rückgabewert zuweisen
#set($obj.Plan = $spindoctor.weave($web))
## Zahlenzuweisung
#set($obj.Number = 123)
## Array‑Zuweisung
#set($obj.Say = ["Not", $my, "fault"])Code-Sprache: PHP (php)
5. Sonderregeln bei nicht vorhandenen Variablen
$sadfsdfsdCode-Sprache: PHP (php)
Wenn die Template‑Engine eine Variable nicht auflösen kann:
- Normale Schreibweise
$sadfsdfsd: Gibt den Text$sadfsdfsdwörtlich aus - Mit
$!sadfsdfsd: Gibt eine leere Zeichenkette zurück, falls die Variable fehlt
Variablen im Template festlegen
Previous: Grundlegende Vorlagensyntax