在我们的应用程序中,系统发送了大量电子邮件。对于填充动态数据的不同上下文变量的所有用户,这些电子邮件的格式相同。
我们现在正计划一项功能,允许管理员编辑和自定义这些模板。因此,计划是使用groovy shell在运行时评估模板,例如
Binding binding = new Binding();
binding.setVariable("model", [var1: "First Name", var2: "Last Name"])
GroovyShell shell = new GroovyShell(binding);
Object email = shell.evaluate('return "<html><title>Test Shell</title><body>${model.var1} ${model.var2}</body></html>";');
这似乎适合我们。我的问题是:
感谢
答案 0 :(得分:0)
我建议使用像GroovyPagesTemplateEngine这样的东西,因为它不仅仅是Groovy eval,而且你可以使用所有grails taglib优点。我正在使用GroovyPagesTemplateEngine和SimpleTemplateEngine来完成您的确切场景。
SimpleTemplateEngine稍微快一点,所以如果我不需要比简单绑定更多的东西,我就会使用它。当我需要处理逻辑和控制结构时,我使用GroovyPagesTemplateEngine。
答案 1 :(得分:0)
对于grails,请改用页面渲染api。 http://grails.org/doc/2.0.x/guide/introduction.html#whatsNew