Velocity

Velocity ist eine Template Engine.

Velocity Templates sind Textdateien. In das Template eingebettet sind Statements, die an einem vorangestellten # zu erkennen sind. Ein vorangestelltes $ kennzeichnet eine Stelle, an der der Wert eines Statements in das Template eingefügt werden soll.

Elementare Statements bestehen aus Konstanten (z.B. 'abc' oder 123), Referenzen auf Variable, wie z.B. ${customer.lastName} oder Methodenaufrufen ${customer.isValid()}.

Werte können mit den gängigen logischen und arithmetischen Operatoren verarbeitet werden.

Komplexere Statements sind die Zuweisung #{set( $var = ... )}, die Fallunterscheidung #{if( ... )} ... #{elseif ( ... )} ... #{else} ... #{end} und die Schleife #{foreach( $var in $collection-var )} ... #{end}.

Mit #{include( "... filename ..." )} wird der Inhalt der referenzierten Datei eingefügt. Das Einfügen eines anderen Velocity Templates geschieht mit #{parse( "... file name ..." )}.

In Velocity Templates können parametrisierte Macros definiert werden: #{macro( macro-name ... parameters ... )} ... #{end}. Aktiviert werden Macros unter Verwendung ihres Namens #{macro-name( ... arguments ...)}.

Die Vorteile von Velocity liegen in der leichten Erlernbarkeit für HTML-Designer im Vergleich zu JSP und JSTL, der Laufzeit-Effizienz und der Tatsache, das Velocity Templates nicht wie JSP Seiten kompiliert werden müssen, was zu einer höheren Effizienz in der Softwareentwicklung führt.

Velocity ist nicht speziell auf die Verwendung mit HTML Templates zugeschnitten.


Quelle

http://jakarta.apache.org/velocity/