FreeMarker #

FreeMarker ist eine Template-Engine in Java. Sie ist unter der Homepage http://freemarker.org zu finden. Im Vergleich zu anderen Lösungen handelt es sich um die fortschrittlichste und leistungsfähigste Template-Engine, die in Java erhältlich ist. Man benötigt mit FMPP keine Java-Kenntnisse, um FreeMarker benutzen zu können.

Webseiten-Erstellung #

Es ist sehr einfach, FreeMarker in eine Java-Webanwendung einzubauen. Auf der Webseite des Projektes steht eine gute Erklärung hierzu. Man kann FreeMarker dann z.B. so in den Tomcat Java-Webserver (TomcatUnterDebian) integrieren, das man in seinen Webspace neben den normalen *.html-Dateien auch *.ftl-Dateien legen kann und diese dann automatisch interpretiert werden und Variablen z.B. aus einer Datenbank gefüllt werden.

Einmal installiert ist FreeMarker damit genauso einfach zu benutzen wie z.B. PHP. Hat man jedoch nun ein richtiges "programmiererisches" Problem, so kann man dieses in Java (was IMHO eine richtige Programmiersprache ist) lösen und dann entsprechend aus dem Template heraus elegant aufrufen. Bei PHP (was IMHO nur bedingt eine richtige Programmiersprache ist) ist man meist gezwungen (mindestens aber verführt), im PHP-Quelltext zu programmieren. Dies läuft in den allermeisten Fällen auf eine Vermischung von Programmlogik und HTML-Content hinaus, was immer eine schlechte Idee ist.

FMPP #

Der Nachteil an obiger Lösung ist zweifellos, dass man den Tomcat benötigt. Oftmals sind Webseiten aber gar nicht wirklich dynamisch, d.h. echte Änderungen in der Datenbank passieren nur selten. Hierfür kann man trotzdem Templates benutzen, die einem dann statische Seiten generieren, die man dann in einen ganz normalen (z.B. Apache-) Webspace legen kann.

Sehr praktisch auch für nicht-Javaisten ist hierzu das Tool FMPP. Hiermit kann man Templates verarbeiten, ohne Java zu können. Dies geht ganz einfach durch einen Kommandozeilenaufruf oder auch für komplexere Probleme durch ein Ant-Skript. Die Daten, die in die Templates eingefügt werden, werden aus sog. Datenquellen, das können Textdateien oder z.B. CSV-Dateien (oder auch eine Datenbank) sein. Mit FMPP ist es möglich, auch komplexe Webseiten leicht automatisiert herzustellen ohne programmieren zu können.

Hierzu habe ich einen FreeMarker/Workshop geschrieben. Er dient als Tutorial und demonstriert anhand eines Beispiels einige Eigenschaften. -- ThomasBayen

OpenOffice-Dokumente als Templates #

Mit JodReports kann man die Template-Sprache auch in Office-Dokumenten benutzen.

Alternativen #

Die einzige echte Alternative ist Velocity. Dieses existiert schon länger und ist daher weiter verbreitet, ist aber nicht so leistungsfähig.

Je nachdem, was man erreichen möchte, kann man seine Daten auch in XML ablegen und dann verschiedene Konvertier-Methoden hierauf anwenden. Ein Beispiel hierfür ist das DocBook Dateiformat, für das es fertige Konverter in und von sehr vielen anderen Formaten gibt. DocBook abstrahiert dabei die Daten recht stark von der Darstellung, die später eigentlich gar keine innere Ähnlichkeit mehr zum Ursprungsdokument haben muss während FreeMarker eher für eine Abwandlung des ursprünglichen Quelltextes durch zusätzliches Markup geeignet ist.


Tags:  Java, Tomcat, Templates

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-7) was last changed on 18-Feb-2014 14:49 by Thomas Bayen