Template-Engine Velocity für die Java-Beans-Programmierung
Programmieren mit Speed
von Bernhard Bablok
Erschienen im Linux-Magazin
2005/02
Velocity aus dem Jakarta-Projekt hilft nicht nur den Webprogrammierern dabei, statische Vorlagen mit dynamischen Inhalten zu füllen. Das spart viel Zeit beim Entwickeln einander ähnelnder Beans.
Typisch für Webcontent ist, dass ein vorgegebener Rahmen das Layout vorgibt, aber die Inhalte variieren. Diesem Ansatz folgt Velocity aus dem Jakarta-Projekt, das Java-Lösungen für den Apache-Webserver sammelt. So behandeln die Beispiele des Velocity User Guide sowie die meisten anderen Anleitungen Web-bezogene Aufgaben.
Um diesen festgetretenen Pfad geht es im Folgenden aber nicht, sondern um ein anderes Anwendungsszenario. Das Prinzip bleibt aber unverändert und lässt sich auf Web- und beliebige andere Anwendungen übertragen. Das Beispiel erzeugt eine Java-Bean-Klasse dynamisch aus einer vorgegebenen Beschreibungsdatei. Mit Hilfe des Velocity-Template »bean.vm« stellt »BeanGen.java« (Listing 3) eine Bean-Klasse mit einigen Properties bereit.
Wer Java-Beans kodiert, muss immer wieder ähnliche Codeabschnitte tippen. Wenigstens für die Getter- und Setter-Methoden liefern die gängigen IDEs inzwischen Vorlagen mit, aber bei weiter gehenden Bean-Features wie Changelistener für Bound und Constrained Properties, Events und Eventlistener helfen sie nicht weiter. Selbst einfache Klassen mit wenigen Properties arten unnötig aus. Velocity beschleunigt solche mühsamen Routinearbeiten deutlich.
Templates und Daten
Die Template-Engine von Velocity erzeugt aus Daten und Vorlagen - den Templates - fertige Ausgabedateien für praktisch jeden Zweck. Diese Vorlagen bestehen aus drei Teilen: statischem Text, Referenzen und Direktiven. Die Referenzen sind Platzhalter für Daten, die Direktiven steuern das Verhalten der Template-Engine. Velocity verwendet für seine Templates eine eigene Programmiersprache: die Velocity Template Language (VTL).
Die Einstiegshürde beim Lernen der Sprache liegt niedrig. VTL beschränkt sich auf die unbedingt notwendigen Elemente. Wer JSPs und Shell- oder Perl-Programmierung kennt, dem wird VTL kaum Mühe bereiten. Die Daten für die Templates definiert man entweder innerhalb des jeweiligen Template selbst, oder stellt sie über ein Rahmenprogramm zur Verfügung. Letzteres ist der übliche Weg, erstere Methode eignet sich hauptsächlich für Konstanten.
Bean-Template
Listing 1, ein Auszug aus dem Beispiel-Template, definiert seine Daten fest. Es mischt statischen Text, in diesem Fall Java-Code, mit Direktiven und Referenzen. Die Zeilen 14 und 15 ziehen weitere Templates heran, dabei bewirkt »#parse« das Verarbeiten des importierten Template. Die Anweisung »#include« fügt einen Inhalt hinzu, ohne darin enthaltene Anweisungen zu verarbeiten.
Listing 1 verwendet fast alle Sprachelemente von VTL: Loops, einfache Bedingungen, Makro-Aufrufe, Kommentare und Schachtelung von Templates. Die Platzhalter für die Daten, also die Referenzen, fangen mit »$« an - die Bash lässt grüßen. Referenzen bieten aber mehr Möglichkeiten als Variablen.
| Whitepaper |
|
The Role of Open Source in Data Integration
Obwohl in den letzten Jahren viele technische Fortschritte erzielt werden konnten, verfügen die meisten Datenintegrationsprozesse nach wie vor nur über eine sehr begrenzte Automatisierung. Das vorliegende White Paper von dem Industry Analyst Mark Madson wird zunächst ein grundlegendes Verständnis von Daten Integration vermitteln, die Vorzüge von Open Source Lösungen für Daten Integration erläutern und Ihnen professionelle Empfehlungen geben, damit Sie Ihre Integrationsjobs noch einfacher und produktiver gestalten können.
Download PDF (Registrierung erforderlich)
|
|
Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele (Folge 2)
Der zweite Teil des Open Source Datenintegration in der Praxis: Fallstudien und Anwendungsbeispiele White Papers beleuchtet anhand weiterer ausgewählter Case Studies die Implementierung von Open Source Datenintegration in der Praxis und benennt die daraus resultierenden Vorteile.
Download PDF (Registrierung erforderlich)
|
Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links"
nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedrucken Fassung entsprechen.
|