Java Velocity foreach-Schleife
Habe ich eine ArrayList, die im Auffüllen in java und übergeben Sie es aus, um ein velocity-template für den Verzehr. Wenn ich jetzt versuche Durchlaufen der Liste und erstellen ein 'Komma' getrennt Zeichenfolge aus der Liste, Im beobachten ein unberechenbares Verhalten.
Folgendes ist mein code
> #set($list_str="")
> #foreach($item in $list)
> #set($list_str=$!list_str+$!item+",")
> #end
Nun sehe ich, dass meine variable $list_str hat alle Elemente der Liste, aber am Ende wird der variable name der iterator '$!Element' ist auch angehängt wird.
So, say my list has [0,1,2,3,4], my end result(value of $list_str) is [0,1,2,3,4],$!item,
Ich bin nicht sicher, ob dies ist, weil ein null-Verweis aus der Liste wird aufgefüllt, und der an die velocity-template.
Alle Zeiger Richtung dies zu beheben würde sehr geschätzt werden.
Dank
- Sind Sie sicher, dass das nicht durch etwas anderes verursacht irgendwo? Können Sie die Ausgabe aller Zwischenergebnisse für jede iteration der Schleife? Auch, wo sind die Klammern in die Ausgabe?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich einen quick-check und das scheint zu sein, weil ein null-Wert in die ArrayList.
Für eine ArrayList gefüllt, wie unten --
und mit einem velocity-code wie unten --
Bekomme ich die folgende Ausgabe --
das scheint zu sein, wie erwartet.
Wenn ich jetzt füllen meine Arraylist wie folgt --
und mit der gleichen velocty code wie oben, bekomme ich die folgende Ausgabe --
So , ich vermute, dass Sie müssen hinzufügen, ein null-check irgendwo im code zu vermeiden.
Dank
p1nG
PS: Wie bereits von @Thilo ich bin nicht sicher, wo die Klammern sind aus, nicht sicher, ob dies das gewünschte Verhalten.
Verwenden Sie die velocity-tools, um dies zu tun
zB
Thats it-das Ergebnis wird sein, nando,bob,don
wenn Sie dont gehören der zweite parameter in der Liste Methode, die Sie erhalten
nando,bob und don'