Exemple de code utilisant JMustache, le moteur de modèles Moustache en Java

Aperçu

--Utilisation du moteur de modèle Moustache JMustache avec Java

Exemple de code

Liste des codes sources

├── 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 {

    //Charger le fichier de modèle Moustache
    String templateText = getResourceText("my_template.html");
    Template template = Mustache.compiler().compile(templateText);

    //Verser des objets dans des modèles Moustache
    SampleData data = new SampleData();
    String out = template.execute(data);

    //Sortir le résultat
    System.out.println(out);
  }

  //Lire les fichiers du répertoire de ressources
  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>

Courir sur 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>

Matériel de référence

Recommended Posts

Exemple de code utilisant JMustache, le moteur de modèles Moustache en Java
Exemple de code qui utilise le moteur de modèle Moustache avec Spring Boot
Devinez le code de caractère en Java
Exemple de code pour appeler l'API Yahoo! Local Search en Java
Exemple de programme qui renvoie la valeur de hachage d'un fichier en Java
[Java] Implémenter une fonction qui utilise une classe implémentée dans le modèle Builder
Exemple de code Java 02
Exemple de code Java 03
Exemple de code Java 04
Exemple de code Java 01
Un fichier bat qui utilise Java dans Windows
Exemple de code source pour trouver le multiple commun minimum de plusieurs valeurs en Java
Code pour supprimer tous les fichiers du préfixe spécifié dans AWS S3 (Java)
Exemple de code pour obtenir les valeurs de type SQL clés dans Java + MySQL 8.0
Exemple de code pour convertir List en List <String> dans Java Stream
Code qui affiche uniquement la caméra intégrée dans le traitement
Différences de code lors de l'utilisation du système de longueur en Java
L'histoire que .java est également construite dans Unity 2018
Exemple de code pour obtenir les valeurs des principaux types SQL dans Java + Oracle Database 12c
Identifiez les threads du processus Java qui gaspillent du processeur
Corrigez le code de caractère en Java et lisez à partir de l'URL
Exemple de code de signature électronique (JAVA)
Collection d'exemples de code parallèle Java
Moteur de template Pebble (Java) --Guide
Java avec Visual Studio Code
Écrire du code de type Java8 en Java8
Comment implémenter un travail qui utilise l'API Java dans JobScheduler
Utilisez un exemple de domaine pour le nom du package dans l'exemple de code
Accéder à l'interface réseau avec Java
Notation de version Java qui change dans Java 10
Multithread pour s'adapter au modèle [Java]
Environnement Java Spring dans vs Code
Spécifiez l'emplacement Java dans eclipse.ini
Décompressez le fichier zip en Java
Nouvelles fonctionnalités de Java 9 et exemple de code
Un exemple simple de rappels en Java
Analyser l'analyse syntaxique de l'API COTOHA en Java
Distributeur automatique d'échantillons fabriqué avec Java
Exemple de code utilisant Minio de Java
Appelez la super méthode en Java
Exemple de code pour la sérialisation et la désérialisation des énumérations Java Enum et JSON dans Jackson
Ceci et cela de la mise en œuvre du jugement en temps réel des dates en Java
L'histoire selon laquelle le servlet n'a pas pu être chargé dans l'application Web Java
À propos du phénomène que StackOverflowError se produit lors du traitement à l'aide d'expressions régulières Java