gpt4 book ai didi

spring - 在 Grails 3 Rest-api 配置文件应用程序中将模板呈现为服务中的字符串

转载 作者:行者123 更新时间:2023-12-02 06:29:40 24 4
gpt4 key购买 nike

我使用 rest-api 配置文件创建了一个 Grails 3.2.1 应用程序,并希望将 GSP 模板呈现为字符串。为此,我首先在 build.gradle 中添加 apply plugin:"org.grails.grails-gsp",然后基于 ResponseRenderer 的代码,我尝试按照以下方式将我的 GSP 模板呈现为:

def viewResolver = applicationContext.getBean(CompositeViewResolver.BEAN_NAME, CompositeViewResolver)

View view = viewResolver.resolveView("/email-templates/signup", null)

但是view对象始终为null。然后我又尝试了以下方法,但没有成功:

[ViewResolverComposite, GroovyMarkupViewResolver, GenericGroovyTemplateViewResolver].each {
def viewResolver = applicationContext.getBean(it)

View view = viewResolver.resolveViewName("/email-templates/signup", null)
println view?.dump()
}

我的模板位于grails-app/views/emails-templates/_signup.gsp

在 Grails 2 中,通过注入(inject) PageRenderer 类型的 groovyPageRenderer bean 非常简单。但我认为,Grails 3 中不再使用该 bean 和 class。

最佳答案

对于使用 web 配置文件创建的 Grails 3 应用程序,他们始终可以使用链接 Grails render view from service? 中给出的 groovyPageRenderer .

对于使用 rest-api 配置文件创建的应用程序,他们只需在 dependency block 下的 build.gradle 中添加以下内容:

compile "org.grails:grails-plugin-gsp:3.2.1"

上面的链接也将按原样工作。

为了便于描述,注入(inject) Bean 并使用 render 方法:

PageRenderer groovyPageRenderer

def someMethod() {
println groovyPageRenderer.render(template: "/email-templates/signup", model: [foo: "bar"])
}

关于spring - 在 Grails 3 Rest-api 配置文件应用程序中将模板呈现为服务中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40202523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com