2010-09-09 70 views

回答

1

您可以在Java中生成随机整数并将此整数传递给Freemarker模板。

2

Freemarker目前不提供随机数生成器。 您可以使用时间(.now)作为种子来实现一个天真的随机数生成器,但它不应该是您程序的关键部分。

0

另一个选项实际上是创建自己的Freemarker method,注入的数据模型。

这里是如何做到这一点在Java中8个例子:

public String generate(Map<String, Object> data, String templateLocation) throws IOException, TemplateException { 
    try (StringWriter writer = new StringWriter()) { 
     Template template = configuration.getTemplate(templateLocation); 
     data.put("uuid", (TemplateMethodModelEx) (list) -> UUID.randomUUID()); 
     Random r = new Random(); 
     // Adding method for generation of random number 
     data.put("randomNumber", (TemplateMethodModelEx) (list) -> r.nextInt(200)); 
     template.process(data, writer); 
     return writer.toString(); 
    } 
} 

在Freemarker模板,那么你将能够使用使用这种方法:

${randomNumber()} 
相关问题