在应用程序外部渲染grails模板

时间:2015-07-22 15:51:01

标签: grails

我希望能够灵活地为视图/目录下实际存在的电子邮件和文件或应用程序中的任何实际位置呈现模板。

原因是我可以独立于主应用程序打包和部署模板版本。

所以我有模板' _Backup_Email.gsp'根据'观点/电子邮件/'。

定义

如果我执行以下操作:

render groovyPageRenderer.render(template: "/emails/Backup_Email", model: [serverGroup: serverGroup])

然后它渲染得很好。

如果我复制模板说“c:/templates/emails/_Backup_Email.gsp'然后执行以下操作:

render groovyPageRenderer.render(template: "C:/templates/emails/Backup_Email", model: [serverGroup: serverGroup])

我得到一个空白的屏幕。

我显然在这里遗漏了一些东西。

1 个答案:

答案 0 :(得分:0)

如何使用属性而不是模板的硬编码路径?

您可以使用-DtemplateFolder = / home / user / grails / templates启动您的应用程序。

我会将模板保存为包含邮件内容的纯文本文件等。您可以将渲染/合并模板包含在驻留的GSP中 在通常的grails文件夹中。

由于您使用的是grails,因此您必须能够访问groovy的字符串模板引擎,您可以使用该引擎将模板与数据合并。

此处记录了字符串模板引擎

http://www.groovy-lang.org/templating.html

我希望它有所帮助。