【问题标题】:How to externalize GSP mail templates with Grails?如何使用 Grails 将 GSP 邮件模板外部化?
【发布时间】:2011-06-11 19:21:18
【问题描述】:

从模板呈现电子邮件时,会在“grails_app/views”中查找模板:

mailService.sendMail {
    from sender
    to recepient.email
    subject "Don't forget"
    body  (view: "/emails/reminder",
        model:[recepient: recepient, document: document])
}

如何将应用程序之外的邮件模板(war 文件)放入文件系统?

【问题讨论】:

    标签: email templates grails configuration gsp


    【解决方案1】:

    有两种选择:

    1. 将您的模板作为文本存储在数据库中,并生成默认的 crud 代码来更新它们。然后,您将修改电子邮件代码以使用域对象将数据从数据库中提取出来。
    2. 将模板作为字符串存储在 Groovy 配置文件中。 Groovy 可以使用可以与打包的应用程序分开编辑的外部配置文件。有关详细信息,请参阅this blog post

    一旦有了字符串,就可以使用 Grails 控制器中的 GSP 引擎和任意字符串来创建视图。有关详细信息,请参阅this blog post

    简而言之,您可以使用列出的选项之一将模板存储为字符串,然后在检索到模板字符串后使用 Grails GSP 引擎创建视图。

    【讨论】:

    • 但是如何呈现 GSP 字符串(在服务内)?
    • @deamon:我认为 Jared 的回答已经足够好了。但这里有一个需要明确的想法:sendMail 函数中“body”的输入是一个简单的字符串。您只需要将字符串(可能带有 HTML 装饰)传递给“body”。请注意,如果要发送 HTML 文件,则必须打开其他相关选项。
    猜你喜欢
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-18
    • 1970-01-01
    相关资源
    最近更新 更多