grails groovyPageRenderer 注入文件 src/groovy
grails groovyPageRenderer injecting in file inside src/groovy
我想在 src/groovy/GSPFormatter 中注入 groovyPageRenderer,
如果不调用新的构造函数,我该怎么做?
编辑
package gsprenderer
import spud.core.FormatterInterface
import grails.gsp.PageRenderer
class GSPFormatter implements FormatterInterface {
PageRenderer groovyPageRenderer = grailsApplication.mainContext.getBean('groovyPageRenderer')
String compile(String content) {
groovyPageRenderer.render(view: new ByteArrayOutputStream().write(content.bytes), null)
}
}
是我在src/groovy/GSPFormatter中的代码(基本上是默认的注入机制,它也不起作用)
我想,你指的是 grails.gsp.PageRenderer
...顺便说一句,我使用的是 Grails 3.3.0
这是一个小的(测试)例子-
在application.yml
grails:
spring:
bean:
packages:
- ovr
在scr/groovy/ovr
package ovr.renderer
import grails.gsp.PageRenderer
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Component
@Component
class CustomRenderer {
@Autowired
PageRenderer pageRenderer
def page(){
pageRenderer.render(view: '/myrenderer', model: [hello: 'hello'])
}
}
在控制器中
@Autowired
CustomRenderer customRenderer
def myPage(){
render customRenderer.page()
}
在 views/myrenderer.gsp
${hello}
相关 post -
PS - 如果您在 /conf/spring/resources.groovy
中描述了您的 bean
,请转义 application.yml
中的部分(如上所示)
您似乎无法在 src 层次结构中的文件中注入任何 bean。
我转向处理渲染模板引擎(简单,...)
问题已关闭,
非常感谢
我想在 src/groovy/GSPFormatter 中注入 groovyPageRenderer, 如果不调用新的构造函数,我该怎么做?
编辑
package gsprenderer
import spud.core.FormatterInterface
import grails.gsp.PageRenderer
class GSPFormatter implements FormatterInterface {
PageRenderer groovyPageRenderer = grailsApplication.mainContext.getBean('groovyPageRenderer')
String compile(String content) {
groovyPageRenderer.render(view: new ByteArrayOutputStream().write(content.bytes), null)
}
}
是我在src/groovy/GSPFormatter中的代码(基本上是默认的注入机制,它也不起作用)
我想,你指的是 grails.gsp.PageRenderer
...顺便说一句,我使用的是 Grails 3.3.0
这是一个小的(测试)例子-
在application.yml
grails:
spring:
bean:
packages:
- ovr
在scr/groovy/ovr
package ovr.renderer
import grails.gsp.PageRenderer
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Component
@Component
class CustomRenderer {
@Autowired
PageRenderer pageRenderer
def page(){
pageRenderer.render(view: '/myrenderer', model: [hello: 'hello'])
}
}
在控制器中
@Autowired
CustomRenderer customRenderer
def myPage(){
render customRenderer.page()
}
在 views/myrenderer.gsp
${hello}
相关 post -
PS - 如果您在 /conf/spring/resources.groovy
中描述了您的 bean
,请转义 application.yml
中的部分(如上所示)
您似乎无法在 src 层次结构中的文件中注入任何 bean。
我转向处理渲染模板引擎(简单,...)
问题已关闭,
非常感谢