以编程方式渲染 GSP
假设我的数据库中存储了一个 gsp 片段。如何以编程方式将其与数据模型合并以生成字符串。
Suppose I have a gsp snippet stored in my database. How do I programmatically merge it with a data model to produce a string.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
任何 Grails 应用程序的 applicationContext 都包含一个名为的 bean
默认情况下,这是 GroovyPagesTemplateEngine。因此,您可以在控制器或服务中使用这样的代码:
注意:这个片段并不是真正从运行代码中获取的,它应该只是澄清这个想法。
The applicationContext of any Grails app contains a bean named
By default this is a instance of GroovyPagesTemplateEngine. So you might use code like this in your controller or service:
NB: this snippet is not really taken from running code, it should just clarify the idea.
我发现了一种使用 groovyPageRenderer 和替换脚本源离线渲染复杂 gsp 的肮脏(但有效)方法。在这种情况下,您可以访问所有 gsp 语法,包括
g:if
等。首先定义两个虚拟类:
然后您可以这样使用它
:)
I found a DIRTY (but working) way of rendering complex gsps offline using groovyPageRenderer with substituted scriptsource. In that case you have access to all gsp syntax including
g:if
etc..First define two dummy classes:
And then you can use it as such:
)
您可以创建一个控制器方法来执行您想要的操作。然后你将拥有一个 HTTP api 来完成你想要的事情。控制器方法的模板将具有适当参数化的
标记。You can make a controller method that does what you want. Then you will have an HTTP api to accomplish what you want. The controller method's template will have a
<g:render>
tag, appropriately parameterized.