Erstellen und durchlaufen Sie ein Array in Velocity Template Language
Wie ein array erstellen, in VTL und fügen Sie den Inhalt in das array? Auch gewusst wie: abrufen der Inhalt des Arrays per index?
InformationsquelleAutor der Frage raghav | 2011-05-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut Apache Velocity User Guide der rechten Seite von Zuweisungen kann der Typ
Können Sie erstellen, wird eine leere Liste, die erfüllt alle Ihre Bedürfnisse für ein array, in einen Apache Velocity template mit einem Ausdruck wie:
oder initialisieren von Werten:
fügen Sie dann die Elemente mit dem Java-add-Methode:
aber Vorsicht, so wie auf Java .add () - Methode für die Liste Typ einen booleschen Wert zurückgibt, wenn Sie ein element auf der Liste, Velocity drucken, zum Beispiel, "true" oder "false", basierend auf dem Ergebnis des "hinzufügen" - Funktion.
Einen einfachen work-around ist die Zuordnung das Ergebnis der add-Funktion einer Variablen:
Können Sie Zugriff auf die Elemente der Liste mit index-Nummern:
Ausdruck oben zeigen würde, ein span mit dem text "ein string". Aber der sicherste Weg, um Zugriff auf Elemente einer Liste ist die Verwendung von foreach-Schleifen.
InformationsquelleAutor der Antwort Irmak Cakmak
Erstellen eines Arrays ist einfach:
Einfügen eines Elements in ein array ist auch einfach:
Immer ein element aus einem array ist, hängt von Ihrer Geschwindigkeit-version.
In der Geschwindigkeit 1.6 müssen Sie
Da die Geschwindigkeit 1.7 können Sie die klassische form:
InformationsquelleAutor der Antwort Andrea Zenatti
Habe ich noch nicht erstellt ein array in VTL doch übergebenen arrays zu VTL Kontext und verwendet Sie. In VTL, Sie können nicht abrufen, array-Inhalt, die durch den index, den Sie nur mithilfe von foreach, als Beispiel dieser code ist kopiert von meine Dynamische SQL-Generierung VTL-Skript:
Aus diesem Grund können wir auch keine 2D-arrays. Wenn ich brauchte ein array speichern 2 Objekte in eine Zeile, ich habe das workaround von eine neue Klasse definieren und Objekte dieser Klasse in der eindimensionalen array.
InformationsquelleAutor der Antwort Ozgur Ozturk