grails - Controller 中的PageRenderer

标签 grails

我们可以在 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/

相关文章:

templates - grails模板方法代码太大错误?

hibernate - Grails中的准备好的语句

grails - 将PropertyEditor关联到特定 Controller

grails - 如何在 Grails 服务上调用初始化函数?

grails - 如何将GGTS 3.4.0配置为使用内部随附的Grails运行时?

grails - Groovy:无此类属性:类数据:groovyx.net.http.HTTPBuilder $ RequestConfigDelegate

grails - Grails并行加载小部件

grails - 如何使用IS_AUTHENTICATED_FULLY IN grails 3 spring-security

grails - 为什么使用 <g :textField/> in Grails?

java - 将 Grails 命令添加到 Maven 阶段——我做错了什么?