FreeMarker

FreeMarker
Basisdaten
Entwickler Jonathan Revusky, Attila Szegedi, Dániel Dékány e.a.
Erscheinungsjahr 2002
Aktuelle Version 2.3.32
(14. Januar 2023)
Betriebssystem plattformunabhängig
Programmier­sprache Java
Kategorie Template-Engine
Lizenz Apache-Lizenz
freemarker.apache.org

FreeMarker ist eine Template-Engine für die Java-Plattform, die Platzhalter in Textdateien durch dynamische Inhalte ersetzt. Die häufigste Anwendung ist das Generieren von HTML in Webanwendungen, es wird aber u. a. auch zum Erzeugen von E-Mails, Quelltext und SQL-Queries verwendet. FreeMarker ist freie Software.

FTL FreeMarker Template Language

FreeMarker verwendet eine eigene, einfache Programmiersprache (DSL), die für die Verwendung in HTML-Templates optimiert ist.

Der Inhalt von Variablen wird in der Form ${Variable} ausgegeben, Anweisungen als <#Anweisung …/> notiert. Häufig benutzte Anweisungsblöcke lassen sich als Makro definieren und dann in der Form <@Makro …/> aufrufen (Anweisungen und Makros können Parameter haben, worauf die „…“ hinweisen sollen).

FTL bietet einen vergleichsweise hohen Funktionsumfang, es lassen sich z. B. Zahlen und Datumswerte internationalisiert ausgeben, Zeichenersetzungen mit Regulären Ausdrücken durchführen, Texte für die Verwendung in JavaScript mit Maskierungszeichen versehen, Listen (auch) nach Subvariablen der Elemente sortieren oder DOM-Nodes in XML-Dokumenten adressieren.

Beispiel

Angenommen, es stehen die Variablen name (eine Zeichenkette) und items (eine Liste von Objekten mit den Feldern quantity und description) zur Verfügung.

Das Template

erzeugt dann folgenden Output:

<p>Einkaufskorb für Max Mustermann:</p>
<ul>
  <li>1 Stk. <b>Bleistift</b>
  <li>2 Stk. <b>Radiergummi</b>
</ul>

Anwendungen

FreeMarker wird in verschiedenen Bereichen der Softwaretechnik eingesetzt und wird von vielen Programmen und Frameworks verwendet resp. unterstützt.

In IDEs wie Eclipse, NetBeans IDE oder IntelliJ IDEA wird die Bearbeitung von FreeMarker Templates durch Syntax-Check, Code-Vervollständigung, Popup-Hilfe u. ä. unterstützt.

Geschichte

FreeMarker 1 wurde von Benjamin Geer und Mike Bayer entwickelt und im Januar 1999 unter der LGPL-Lizenz veröffentlicht (nach wie vor als „FreeMarker classic“ erhältlich).

2002 wurde der Kern von Jonathan Revusky e.a. neu geschrieben und als FreeMarker 2 unter der (im Vergleich zur LGPL) liberaleren BSD-Lizenz veröffentlicht.

Literatur

Es liegt derzeit keine Monographie zu FreeMarker vor, die Konfiguration und Verwendung wird allerdings in vielen Handbüchern der Programme und Frameworks beschrieben, die FreeMarker verwenden oder unterstützen.

Artikel in Fachzeitschriften:

Einzelnachweise

  1. ↑ Musachy Barroso e.a.: Using Freemarker Templates. In: Apache Struts 2 Documentation. Archiviert vom Original am 6. August 2010; abgerufen am 24. Juli 2010 (englisch).
  2. ↑ Rod Johnson e.a.: Chapter 14. Integrating view technologies. In: The Spring Framework - Reference Documentation. Abgerufen am 24. Juli 2010 (englisch).
  3. ↑ Dániel Dékány e.a.: Using FreeMarker with servlets. In: FreeMarker Manual. Abgerufen am 24. Juli 2010 (englisch).
  4. ↑ Patrick Lightbody e.a.: Template Loading. In: Apache Struts 2 Documentation. Archiviert vom Original am 1. Juli 2010; abgerufen am 24. Juli 2010 (englisch).
  5. ↑ Templating with FreeMarker - a primer. In: Magnolia Documentation. Ehemals im Original (nicht mehr online verfügbar); abgerufen am 24. Juli 2010 (englisch). (Seite nicht mehr abrufbar. Suche im Internet Archive)
  6. ↑ Introduction. In: apt-jelly Homepage. Abgerufen am 24. Juli 2010 (englisch).
  7. ↑ Max Andersen: A story about FreeMarker and Velocity. In: In Relation To... 3. Februar 2006, abgerufen am 24. Juli 2010 (englisch, Blog eines Hibernate-Entwicklers).
  8. ↑ Faq FreeMarker. In: NetBeans Wiki. Archiviert vom Original am 26. Juli 2010; abgerufen am 24. Juli 2010 (englisch).
  9. ↑ FreeMarker/Velocity. In: IntelliJ IDEA Homepage. Ehemals im Original (nicht mehr online verfügbar); abgerufen am 24. Juli 2010 (englisch). (Seite nicht mehr abrufbar. Suche im Internet Archive)
  10. ↑ Dániel Dékány e.a.: Who We Are. In: FreeMarker Homepage. Abgerufen am 24. Juli 2010 (englisch).