我在某处将模板保存为字符串,我想用它来创建小胡子。我怎样才能做到这一点?或者可行吗?
问问题
5279 次
2 回答
19
这是我找到的方法:
private String renderMustacheContent() throws IOException {
MustacheFactory mf = new DefaultMustacheFactory();
Mustache mustache;
if (type.getTemplate().trim().isEmpty()) {
String emailContent = genCpuEmailContent(cmsKey);
mustache = mf.compile(new StringReader(emailContent), "cpu.template.email");
} else {
mustache = mf.compile(type.getTemplate());
}
StringWriter writer = new StringWriter();
mustache.execute(writer, values).flush();
return writer.toString();
}
因此,基本上,当您只想从字符串模板而不是文件呈现电子邮件时,只需使用模板创建新的 StringReader。
于 2013-06-19T20:32:36.183 回答
0
如果您使用 FileWriter(或其他一些类)将该字符串存储到文件中并保留扩展名 .mustache,那么您应该能够关闭并使用该文件。这是我快速制作的东西(它可能不起作用):
//write to the file
FileUtils.writeStringToFile(new File("template.mustache"), "example mustache stuff");
//do stuff....
//code for turning template into mustache
MustacheFactory mf = new DefaultMustacheFactory();
Mustache mustache = mf.compile("template.mustache");
mustache.execute(new PrintWriter(System.out), new Example()).flush();
编辑:我误读了标题。您可以创建一个临时文件,然后稍后将其删除。
资料来源:
于 2013-06-19T19:37:27.510 回答