Apache Velocity

Apache Velocity
Apache Velocity
Entwickler Apache Software Foundation
Aktuelle Version 1.7
(29. November 2010[1])
Betriebssystem plattformunabhängig
Programmier­sprache Java (Programmiersprache)
Kategorie Template Engine
Lizenz Apache Software License
http://velocity.apache.org/

Apache Velocity ist eine Software, die Platzhalter in Textdateien durch aktuelle Inhalte ersetzt. Damit können nach dem Prinzip des Serienbriefs beliebig viele Textdateien, beispielsweise HTML-Seiten oder E-Mails, mit unterschiedlichen Inhalten, aber gleicher Struktur, aus einer einzigen Vorlage erzeugt werden.

Apache Velocity wurde in der Programmiersprache Java programmiert. Der Quelltext steht unter der Apache Software License und ist somit frei.

Inhaltsverzeichnis

Funktionsweise

Die von Apache Velocity verarbeiteten Textdateien werden als Template bezeichnet, englisch für „Schablone“ oder „Vorlage“. Daher wird dieser Typ von Software auch Template Engine („Schablonenmaschine“) genannt.

Apache Velocity interpretiert die Platzhalter in den Templates als Referenzen auf Java-Objekte, also ausführbare Software, die in der Programmiersprache Java geschrieben wurde. Velocity erzeugt aus dem Template ausführbaren Quelltext, der einerseits die statischen Textbestandteile des Templates ausgibt, und andererseits an den richtigen Stellen die referenzierten Java-Objekte aufruft. Die Java-Objekte müssen Zeichenketten zurückgeben, die in den Text eingefügt werden.

Apache Velocity kann als eigenständiges Anwendungsprogramm eingesetzt werden oder als Klassenbibliothek in andere Anwendungsprogramme (z. B. Webanwendungen) integriert werden und für diese Hilfsdienste verrichten.

Anwendungsbereiche

Apache Velocity wird in unterschiedlichen Anwendungsbereichen der Softwaretechnik eingesetzt und ist Bestandteil vieler Softwareprodukte.

  • Webanwendungen: Webentwickler gestalten HTML-Seiten mit Platzhaltern für dynamisch erzeugte Informationen. Dazu wird eine solche HTML-Seite beispielsweise von einer Velocity-Komponente namens VelocityViewServlet verarbeitet.[2] Dieser Ansatz ist als Alternative zu JavaServer Pages (JSP) oder PHP gedacht.
  • Codegeneratoren: Velocity kann auch zum Erzeugen von Quelltext in beliebigen formalen Sprachen wie Java, SQL oder PostScript eingesetzt werden.
  • E-Mail-Erzeugung: Viele Anwendungen erzeugen automatische E-Mails, beispielsweise für die Anmeldung an Websites oder Passwort-Erinnerungen mit Hilfe von Velocity. Dabei kann der erzeugte Text direkt in einer Textdatei gespeichert werden, ohne dass Java-Code erzeugt werden muss.
  • XML-Umwandlung: Velocity stellt auch einen Ant-Task namens Anakia bereit, der eine XML-Datei liest und sie für eine Velocity-Schablone verarbeitbar macht. Eine typische Anwendung davon ist es, im XDoc-Format vorliegende Dokumentation zu HTML umzuwandeln.
  • Text-Reports: Velocity wird verwendet um vordefinierte textuelle Reports zu befüllen. Dies ist weit einfacher als mit den auf grafische Reports spezialisierten Reporting Engines wie JasperReports

Velocity ist als Template-Engine Bestandteil vieler Anwendungsprogramme wie der integrierten Java-Entwicklungsumgebung IntelliJ IDEA oder des UML-Werkzeuges Poseidon for UML und Frameworks wie Spring, sowie von Websites wie der Open-Source-Entwicklungsgemeinschaft Tigris.org.[3]

Velocity Template Language

Apache Velocity definiert eine eigene Beschreibungssprache für Schablonen, die Velocity Template Language (VTL). Dabei leiten Doppelkreuze („#“) die zu füllenden Platzhalter ein, doppelte Doppelkreuze („##“) beginnen Kommentare und Dollarzeichen („$“) dienen als Markierung von Referenzen.

Die folgende Beispielvorlage definiert neben Kommentaren eine Referenz namens „foo“, der eine einfache Zeichenkette mit dem Inhalt „Velocity“ zugewiesen wird. Anschließend wird die Referenz „foo“ im Text durch die Zeichenkette ersetzt.

## Velocity Hello World
<html>
    <body>
       #set( $foo = "Velocity" )
       ## followed by
       Hallo $foo Welt!
    </body>
</html>

Daraus erzeugt Apache Velocity diese HTML-Struktur:

<html>
    <body>
     Hallo Velocity Welt!
    </body>
</html>

Geschichte

Die erste Beta-Version von Velocity wurde am 26. März 2001 veröffentlicht.[4] Am 26. Oktober 2006 wurde Velocity zum Apache Top Level Project ernannt.[5]

Literatur

  • Gradecki, Cole: Mastering Apache Velocity. John Wiley & Sons Inc (Juli 2003) ISBN 978-0471457947

Weblinks

Einzelnachweise

  1. Apache Velocity Site
  2. Velocity – VelocityView. In: The Apache Velocity Project. Abgerufen am 26. Januar 2008 (englisch).
  3. Powered by Velocity. In: VelocityWiki. 4. Dezember 2008, abgerufen am 26. Januar 2008 (englisch).
  4. 20 March 2001 - Velocity 1.0 Beta 1 Release. In: The Jakarta Site - New and Status - 2001. 20. März 2001, abgerufen am 28. Januar 2009 (englisch).
  5. Velocity Approved as Top Level Project. In: Apache Velocity Site - Project news. 26. Oktober 2006, abgerufen am 28. Januar 2009 (englisch).

Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Apache Velocity — Développeur Fondation Apache Dernière version …   Wikipédia en Français

  • Apache Velocity — О проекте Microsoft под кодовым названием Velocity см. Velocity (кэш память). Apache Velocity Тип Обработчик шаблонов Разработчик Apache Software Foundation Написана на …   Википедия

  • Apache Velocity — Infobox Software name = Apache Velocity caption = developer = Apache Software Foundation latest release version = 1.5 latest release date = release date|2007|03|06 latest preview version = latest preview date = operating system = Cross platform… …   Wikipedia

  • Velocity (informatique) — Apache Velocity Apache Velocity Développeur Fondation Apache Dernière vers …   Wikipédia en Français

  • Velocity — Apache Velocity Тип Платформа программирования Разработчик Apache Software Foundation ОС Кроссплатформенное программное обеспечение Версия 1.5 Лицензия Apache 2.0 license Сайт …   Википедия

  • Velocity (disambiguation) — Velocity can mean: * Velocity in physics * Speed * Velocity (biochemistry), a subject of Michaelis Menten kinetics in biochemistry. * Velocity (novel), by US author Dean Koontz * Velocity (newspaper), a weekly alternative newspaper in Louisville …   Wikipedia

  • Apache-Lizenz 2.0 — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia

  • Apache License — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia

  • Apache Lizenz — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia

  • Apache Software License — Die Apache Lizenz ist die Freie Software Lizenz der Apache Software Foundation. Die aktuelle Version 2.0 wurde im Januar 2004 veröffentlicht. Sie wurde gegenüber der vorherigen Version 1.1 stark erweitert. Aufgrund ihres Umfangs wird in den… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”