Il ne semble pas y avoir de fonction intégrée dans Freemarker pour générer un UUID aléatoire dans un modèle.Freemarker: générez UUID facilement
Le meilleur que je pouvais trouver était en créant un Freemarker method; Dans mon code Java 8, j'injecte la méthode pour une utilisation ultérieure dans le modèle. Exemple:
public String generate(Map<String, Object> data, String templateLocation) throws IOException, TemplateException {
try (StringWriter writer = new StringWriter()) {
Template template = configuration.getTemplate(templateLocation);
// UUID generation method injected in this line:
data.put("uuid", (TemplateMethodModelEx) (list) -> UUID.randomUUID());
template.process(data, writer);
return writer.toString();
}
}
Dans le modèle Freemarker je peux alors utiliser la méthode comme ceci:
${uuid()}
est-il une solution plus pratique pour générer uuids à Freemarker?
Voici la ma dépendance Maven:
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.25-incubating</version>
<scope>test</scope>
</dependency>