如何将 GSP 呈现为字符串?

Posted

技术标签:

【中文标题】如何将 GSP 呈现为字符串?【英文标题】:How can I render a GSP as a String? 【发布时间】:2012-12-22 11:48:06 【问题描述】:

对于我的电子邮件时事通讯,我需要将 GSP(时事通讯的 html)呈现为 String,以便将其传递给我的电子邮件方法。我在 Stack Overflow 上找到了很多解决方案,但我不知道哪一个最适合 Grails 2.2(最新版本)。

那么你的意见是什么?您如何将 GSP 呈现为 String 而不将其呈现给 HTTP 响应?

谢谢和最好的问候。

帕特里克

【问题讨论】:

作为仅供参考,render 不会渲染“到 http 响应”。它是写入响应的操作的返回。但是,doelleri 的答案正是您想要的。 【参考方案1】:

在 Grails 2.x 中,您可以将 groovyPageRenderer 注入到服务中。这允许您通过其render() 方法呈现您想要的任何视图或模板。

欲了解更多信息,请查看this nice post from Mr. Haki。

另请注意,如果您使用的是Mail plugin,则可以use a view for your email body。

【讨论】:

@HikaruShindo 是的,它在控制器中的工作方式相同。 请注意,这仍然适用于 Grails 3.0.x(以及可能的未来版本)。

以上是关于如何将 GSP 呈现为字符串?的主要内容,如果未能解决你的问题,请参考以下文章

如何从另一个域呈现 gsp 页面中的字段?

自定义 denied.gsp 样式未呈现

如何将模板字符串呈现为 HTML?

比较 Grails GSP 中的字符串

如何将 Blazor 组件呈现为 HTML 字符串

如何将 jQuery.tmpl 模板呈现为字符串?