我正尝试在grails服务中使用g.render,但似乎在默认情况下没有为服务提供g。有没有办法让模板引擎在服务中呈现视图?我可能走错了路。我希望将视图从部分模板呈现为字符串,并将生成的字符串作为JSON响应的一部分发回,以便与AJAX更新一起使用。
有什么想法吗?
发布于 2009-11-22 23:15:21
我完全同意John的观点--在服务中实现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
}
}当然,使用gspTagLibraryLookup bean可以访问服务中所有其他所需的标记库。
https://stackoverflow.com/questions/1777640
复制相似问题