Variablen im Template festlegen

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 $name unverä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)
  1. Kommentare werdennicht in die gerenderte Seite übernommen;
  2. 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 $sadfsdfsd wörtlich aus
  • Mit $!sadfsdfsd: Gibt eine leere Zeichenkette zurück, falls die Variable fehlt

Variablen im Template festlegen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert