2010-09-09 71 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()} 
相關問題