【发布时间】:2012-07-30 21:48:36
【问题描述】:
在我们的应用程序中,系统正在发送大量电子邮件。这些电子邮件对于所有具有不同上下文变量填充动态数据的用户具有相同的格式。
我们现在正在计划一项功能,允许管理员编辑和自定义这些模板。因此,计划是使用 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>";');
这似乎对我们很有效。我的问题是:
- GroovyShell 是首选引擎还是 Rhino 或其他更好?
- 是否有任何性能问题或内存问题需要注意?我们可以优化的任何容易实现的目标,即外壳或绑定可以重复使用
- 上述代码最大的瓶颈是什么?那个工程?评价?
谢谢
【问题讨论】:
标签: grails groovy groovyshell