Поэтому я чуть-чуть покапался во внутренностях grails и вот результат:
import org.codehaus.groovy.grails.web.pages.GroovyPagesTemplateEngine
import org.codehaus.groovy.grails.web.pages.GroovyPageTemplate
import grails.util.GrailsWebUtil
import org.springframework.web.context.request.RequestContextHolder
class TemplateService {
GroovyPagesTemplateEngine groovyPagesTemplateEngine
def createHtml(String templateName, Map model) {
if(!RequestContextHolder.getRequestAttributes())
GrailsWebUtil.bindMockWebRequest()
GroovyPageTemplate tpl = groovyPagesTemplateEngine.createTemplate(templateName)
StringWriter out = new StringWriter()
tpl.make(model).writeTo(out)
return out.toString()
}
}
Хочу отметить, что очень большой недостаток доступной документации по grails заключается в отсутствии описания контекстных бинов, которые grails инициализирует и использует. В данном случае такой бин - groovyPagesTemplateEngine.
Комментариев нет:
Отправить комментарий