我们可以在 Controller 中实现PageRender(3.2.8版)吗?我尝试了一项服务,它按预期工作完美。
但是,当我尝试使用 Controller 时,没有得到预期的结果。
Controller :
class TestcontrollerController {
def RenderService
def gsp= "grails"
PageRenderer groovyPageRenderer
def index(String gsp) {
render creategsp()
}
def creategsp() {
groovyPageRenderer.render view: '/email/confirm', model: [gsp: findgsp()]
}
def findgsp() {
'<g:select from="${18..65}" value="${age}" />'
}
}
index.gsp:
<g:render template="/test/samplePage" />
samplePage.gsp:
<g:render template="/email/welcome" />
_display.gsp:
Hi ,{username} <br>
PageRenderer不会呈现任何自定义标签或grails标签。
有什么建议么?
最佳答案
是的,这完全有可能。只需在 Controller 顶部定义它:
PageRenderer groovyPageRenderer
请注意,您需要强烈键入此内容,而不仅仅是“def”它。
然后,当您使用它时,它将页面渲染为字符串:
String renderViewResult = groovyPageRenderer.render(view: "/myViewName", model: renderModel)
如果您用更多细节来更新问题,例如所做的事情和不起作用的事情,也许有人可以为您提供更多帮助,但总的来说:是的,它可以工作!
关于grails - Controller 中的PageRenderer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45494140/