gil*_*des 3 java uuid freemarker
Freemarker 中似乎没有方便的内置功能来在模板中生成随机 UUID。
我能想到的最好办法是创建一个Freemarker 方法;在我的 Java 8 代码中,我注入了该方法以供以后在模板中使用。例子:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
在 Freemarker 模板中,我可以使用如下方法:
${uuid()}
Run Code Online (Sandbox Code Playgroud)
在 Freemarker 中是否有更方便的生成 uuid 的解决方案?
这是我的 Maven 依赖项:
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.25-incubating</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
您可以使用静态来调用randomUUID模板:
${statics["java.util.UUID"].randomUUID()}
Run Code Online (Sandbox Code Playgroud)
如果该对象用作以类名作为键的散列,则该对象几乎公开任何类的静态方法。
| 归档时间: |
|
| 查看次数: |
4056 次 |
| 最近记录: |