Erweiterungsmethoden

1. Backend‑Code der Person‑Entität (C#)

public class Person
{
    private string name;
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
    private int age;
    public int Age
    {
        get { return age; }
        set { age = value; }
    }

    //Parameterloser Konstruktor
    public Person(){}
    //Konstruktor mit Parametern
    public Person(string name, int age)
    {
        this.name = name;
        this.age = age;
    }

    //Parameterlose Instanzmethode
    public string getMyName()
    {
        return this.name;
    }

    //Mehrparameter‑Instanzmethode
    public string JoinStr(string str1, string str2)
    {
        return str1 + str2;
    }
}Code-Sprache: C# (cs)

Objekt‑Variablen im C#‑Backend‑Code festlegen

Person pTest = new Person("Tom", 22);
context.Put("pTest", pTest);Code-Sprache: JavaScript (javascript)

2. VTL‑Template‑Code & Render‑Hinweise

Methodenaufruf<br />
$pTest.getMyName();

#set($a = "hello")
#set($b = "foxdevelop")

$pTest.JoinStr($a, $b);Code-Sprache: PHP (php)
1. $pTest.getMyName()
  • Aufruf der parameterlosen Objekt‑Methode getMyName()
  • Rückgabewert Tom

✅ Velocity Aufruf parameterloser Methoden: Klammern () können weggelassen werden, $pTest.getMyName ist gleichbedeutend mit $pTest.getMyName()

2. $pTest.JoinStr($a, $b)
  • Methode mit zwei String‑Parametern aufrufen
  • VTL wertet zuerst $a, $b aus und übergibt die Werte "hello", "foxdevelop"
  • Gibt das verkettete Ergebnis zurück: hellofoxdevelop

Zusammenfassung

  1. Methodennamen beachten Groß‑/Kleinschreibung
    C# getMyName()GetMyName(), das Template muss exakt zur Quellcode‑Schreibweise passen.
  2. Variablen direkt übergeben
    Keine zusätzlichen Anführungszeichen, $pTest.JoinStr($a,$b) ist korrekt; vermeide $pTest.JoinStr("$a","$b") (übergibt den Literal‑String „$a“)
  3. Eigenschaft vs. Methode unterscheiden
  • $pTest.Name → Zugriff auf Eigenschaft (getter)
  • $pTest.getMyName() → Methodenaufruf
  1. Rückgabewerte werden automatisch ausgegeben
    Schreibe im Template einfach $Objekt.Methode(), Velocity gibt den Rückgabewert automatisch aus. Nutze #set zum Auffangen des Ergebnisses ohne Ausgabe:
#set($result = $pTest.JoinStr($a,$b))Code-Sprache: PHP (php)

3. Finale Seiten‑Render‑Ausgabe

Methodenaufruf
Tom;

hellofoxdevelop;

Erweiterungsmethoden

Schreibe einen Kommentar

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