Heim >Java >javaLernprogramm >Verwendung von FreeMarker für die Web-Template-Engine-Verarbeitung in der Java-API-Entwicklung
Mit der rasanten Entwicklung des Internets ist die Entwicklung von Webanwendungen immer häufiger geworden. Um Webanwendungen besser lesbar und wartbar zu machen, verwenden Entwickler häufig Web-Template-Engines zum Rendern von Ansichten. In der Java-Entwicklung gibt es viele beliebte Web-Template-Engines, und FreeMarker ist eine davon.
In diesem Artikel wird die FreeMarker-Webvorlagen-Engine und ihre Verwendung in der Java-API-Entwicklung vorgestellt, einschließlich ihrer Kernfunktionen, Konfiguration und ihrer Anwendung im tatsächlichen Kampf.
1. Was ist FreeMarker? FreeMarker ist eine Open-Source-Java-Vorlagen-Engine, die eine vorlagenbasierte Methode verwendet, um statischen Text oder dynamische Webseiten zu generieren. Sein Merkmal ist die Trennung von Vorlagen und Programmcode, die die Grenzen zwischen Leistung und Logik verdeutlicht, Seitenrendering und Geschäftslogik trennt und die Lesbarkeit und Wartbarkeit des Codes verbessert. FreeMarker unterstützt mehrere Vorlagentypen wie Textvorlagen, XML-Vorlagen, HTML-Vorlagen, JSP-Tag-Bibliotheken usw. und kann in eine Vielzahl von Web-Frameworks wie Struts2, Spring MVC usw. integriert werden.
FreeMarker verfügt über die folgenden Funktionen:
Bedenkenstrennung: Die Vorlagendatei definiert nur den Anzeigeeffekt der Seite und das interaktive Verhalten von Front-End-Benutzern, ohne eingebetteten Geschäftslogikcode.FreeMarker bietet viele APIs, um damit Vorlagen zu generieren. Unser erster Aufruf beinhaltet die Konfiguration von FreeMarker für die Ausgabe von Vorlagen. Als Nächstes zeigen wir, wie Sie die FreeMarker-API einrichten und verwenden.
Wir stellen das Abhängigkeitspaket von FreeMarker vor<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.31</version> </dependency>
Darunter ist VERSION_2_3_28 die FreeMarker-Versionsnummer und die Die Methode setClassForTemplateLoading() legt den Pfad für FreeMarker zum Laden der Vorlage fest.
Als nächstes müssen Sie die Eingabedaten der Vorlage festlegen. In FreeMarker ist dieser Hintergrund eine Karte, und diese Karte muss alle Daten enthalten, die wir in der Vorlage verwenden möchten. Wir können den SimpleHash-Typ verwenden, um diese Karte zu erstellen:
Configuration configuration = new Configuration(Configuration.VERSION_2_3_28); configuration.setClassForTemplateLoading(YourClass.class, "templates");
In diesem Beispiel haben wir „title“ als Schlüssel und „FreeMarker-Beispiel“ als Wert zur Eingabe hinzugefügt.
Abschließend müssen wir die Vorlage laden und die Eingabedaten in die Vorlage rendern, siehe folgendes Codebeispiel:
Map<String, Object> input = new HashMap<String, Object>(); input.put("title", "FreeMarker Example");
In diesem Beispiel ist „example.ftl“ die Vorlage Datei verwenden wir Die Methode „configuration.getTemplate()“ wird zum Laden verwendet, die Methode „template.process()“ wird zum Rendern der Daten in der Eingabe in die Vorlage und schließlich zur Ausgabe nach außen verwendet.
Die FreeMarker-Vorlagensyntax definiert Vorlagen-Tags, integrierte Formate und Methoden. Vorlagenmarkierungen sind Anweisungen in Vorlagen, die aus FreeMarker-Vorlagencode in einem Paar von ${}- oder 72637aecae1027e7d023ac098a170986-Tags bestehen.
Hier sind einige FreeMarker-Marker:
Zuerst müssen wir eine FreeMarker-Vorlagendatei schreiben, zum Beispiel test.ftl:
Template template = configuration.getTemplate("example.ftl"); Writer out = new OutputStreamWriter(System.out); template.process(input, out); out.flush();
In diesem Beispiel verwenden wir das Tag ${...}, um auf die Daten zu verweisen die Eingabe, indem Sie das Tag 364e9d80cdc5c997ad29773a08b6c2809fc13d131a1403f8a03377ed174a3a41 verwenden, um die Benutzer zu durchlaufen und die Namens- und E-Mail-Attribute von jedem Benutzer abzurufen.
Dann müssen wir das Datenmodell festlegen, siehe folgendes Codebeispiel:
<html> <head> <title>${title}</title> </head> <body> <h1>${title}</h1> <ul> <#list users as user> <li>${user.name} (${user.email})</li> </#list> </ul> </body> </html>
In diesem Beispiel haben wir beim Erstellen der Karte eine JavaBean-Klasse mit dem Namen User erstellt , fügen wir der Eingabe die userList als Schlüssel und die List-Referenz als Wert hinzu.
Das obige ist der detaillierte Inhalt vonVerwendung von FreeMarker für die Web-Template-Engine-Verarbeitung in der Java-API-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!