Ste*_*ter 27
我完全赞同约翰的论证 - 在服务中做GSP通常是一个糟糕的设计决定.但没有例外的规则!如果您仍想这样做,请尝试以下方法:
class MyService implements InitializingBean {
boolean transactional = false
def gspTagLibraryLookup // being automatically injected by spring
def g
public void afterPropertiesSet() {
g = gspTagLibraryLookup.lookupNamespaceDispatcher("g")
assert g
}
def serviceMethod() {
// do anything with e.g. g.render
}
}
Run Code Online (Sandbox Code Playgroud)
使用gspTagLibraryLookup bean,您当然可以访问服务中的所有其他所需的taglib.
Dan*_*ner 14
现在使用PageRenderer在Grails 2中更简单.例如:
class SomeService {
def groovyPageRenderer
void someMethod() {
String html = groovyPageRenderer.render(view: '/email/someTemplateName')
}
}
Run Code Online (Sandbox Code Playgroud)
API - http://grails.org/doc/latest/api/grails/gsp/PageRenderer.html
更完整的示例 - http://mrhaki.blogspot.com/2012/03/grails-goodness-render-gsp-views-and.html
| 归档时间: |
|
| 查看次数: |
9612 次 |
| 最近记录: |