我们可以在控制器中实现PageRender(grails 3.2.8)吗?我尝试过服务,它按预期工作得很好。 但是当我在控制器中尝试时,我没有得到预期的结果。
控制器:
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标记。
有什么建议吗?
答案 0 :(得分:0)
是的,这是完全可能的。只需在控制器顶部定义它:
PageRenderer groovyPageRenderer
请注意,您需要强烈输入此内容,而不仅仅是“def”它。
然后当你使用它时,它会将页面呈现给字符串:
String renderViewResult = groovyPageRenderer.render(view: "/myViewName", model: renderModel)
如果您使用更多详细信息更新您的问题,例如您做了什么,哪些无效,可能有人可以帮助您更多,但大局:是的,它有效!