Beispielcode mit JMustache, der Moustache-Vorlagen-Engine in Java

Überblick

Beispielcode

Quellcodeliste

├── build.gradle
└── src
    └── main
        ├── java
        │   ├── SampleApp.java
        │   └── SampleData.java
        └── resources
            └── my_template.html

build.gradle

plugins {
  id 'application'
}

repositories {
  mavenCentral()
}

dependencies {
  // https://mvnrepository.com/artifact/com.samskivert/jmustache
  implementation 'com.samskivert:jmustache:1.15'
}

application {
  mainClassName = 'SampleApp'
}

src/main/java/SampleApp.java

import com.samskivert.mustache.Mustache;
import com.samskivert.mustache.Template;

import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

public class SampleApp {

  public static void main(String[] args) throws IOException {
    new SampleApp().invoke();
  }

  public void invoke() throws IOException {

    //Laden Sie die Moustache-Vorlagendatei
    String templateText = getResourceText("my_template.html");
    Template template = Mustache.compiler().compile(templateText);

    //Gießen Sie Objekte in Moustache-Vorlagen
    SampleData data = new SampleData();
    String out = template.execute(data);

    //Das Ergebnis ausgeben
    System.out.println(out);
  }

  //Lesen Sie Dateien aus dem Ressourcenverzeichnis
  public String getResourceText(String path) throws IOException {
    try (InputStream is = getClass().getResourceAsStream(path)) {
      return new String(is.readAllBytes(), StandardCharsets.UTF_8);
    }
  }
}

src/main/java/SampleData.java

import java.util.List;
import java.util.Map;

public class SampleData {

  public String foo = "foo";

  public String getBar() {
    return "bar";
  }

  public String[] strings = {"S1", "S2", "S3"};

  public List list = List.of("L1", "L2", "L3");

  public Map map = Map.of("key1", "value1", "key2", "value2", "key3", "value3");
}

src/main/resources/my_template.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
foo: {{foo}}<br>
getBar(): {{bar}}<br>
<br>
strings:<br>
{{#strings}}
  value: {{.}}<br>
{{/strings}}
<br>
list:<br>
{{#list}}
  value: {{.}}<br>
{{/list}}
<br>
map:<br>
{{#map}}
  {{key1}}, {{key2}}, {{key3}}
{{/map}}
</body>
</html>

Laufen Sie auf Gradle

$ gradle run

> Task :run
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
foo: foo<br>
getBar(): bar<br>
<br>
strings:<br>
  value: S1<br>
  value: S2<br>
  value: S3<br>
<br>
list:<br>
  value: L1<br>
  value: L2<br>
  value: L3<br>
<br>
map:<br>
  value1, value2, value3
</body>
</html>

Referenzmaterial

Recommended Posts

Beispielcode mit JMustache, der Moustache-Vorlagen-Engine in Java
Beispielcode, der die Moustache-Vorlagen-Engine mit Spring Boot verwendet
Errate den Zeichencode in Java
Beispielcode zum Aufrufen der Yahoo! Local Search API in Java
Beispielprogramm, das den Hashwert einer Datei in Java zurückgibt
[Java] Implementieren Sie eine Funktion, die eine im Builder-Muster implementierte Klasse verwendet
Java-Beispielcode 02
Java-Beispielcode 03
Java-Beispielcode 04
Java-Beispielcode 01
Eine Bat-Datei, die Java in Windows verwendet
Beispielquellcode zum Ermitteln des minimalen gemeinsamen Vielfachen mehrerer Werte in Java
Code zum Löschen aller Dateien mit dem angegebenen Präfix in AWS S3 (Java)
Beispielcode zum Abrufen der wichtigsten SQL-Typwerte in Java + MySQL 8.0
Beispielcode zum Konvertieren von List in List <String> in Java Stream
Code, der nur die in der Verarbeitung integrierte Kamera anzeigt
Unterschiede im Code bei Verwendung des Längensystems in Java
Die Geschichte, dass .java auch in Unity 2018 erstellt wurde
Beispielcode zum Abrufen der Werte der wichtigsten SQL-Typen in Java + Oracle Database 12c
Identifizieren Sie Threads im Java-Prozess, die CPU verschwenden
Korrigieren Sie den Zeichencode in Java und lesen Sie von der URL
Beispielcode für elektronische Signatur (JAVA)
Java Parallel Code Sample Collection
Template Engine Pebble (Java) - Leitfaden
Java mit Visual Studio Code
Schreiben Sie Java8-ähnlichen Code in Java8
So implementieren Sie einen Job, der die Java-API in JobScheduler verwendet
Verwenden Sie eine Beispieldomäne für den Paketnamen im Beispielcode
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
Java-Versionsnotation, die sich in Java 10 ändert
Multithreaded passend zur [Java] Vorlage
Java Spring-Umgebung in vs Code
Geben Sie den Java-Speicherort in eclipse.ini an
Entpacken Sie die Zip-Datei in Java
Java 9 neue Funktionen und Beispielcode
Ein einfaches Beispiel für Rückrufe in Java
Analysieren der COTOHA-API-Syntaxanalyse in Java
Beispielautomat mit Java
Beispielcode mit Minio aus Java
Rufen Sie die Super-Methode in Java auf
Beispielcode zum Serialisieren und Deserialisieren von Java Enum-Enumerationen und JSON in Jackson
Dies und das der Implementierung der zeitlichen Beurteilung von Daten in Java
Die Geschichte, dass das Servlet nicht in die Java-Webanwendung geladen werden konnte
Über das Phänomen, dass StackOverflowError bei der Verarbeitung mit regulären Java-Ausdrücken auftritt