读取gsp模板

时间:2016-07-03 08:38:08

标签: grails groovy

以下是已创建的gsp模板解析方法:

String renderGSPTemplate(String templateText, Map bindings){
        def output = new StringWriter()
        String pageName = bindings.remove('pageName')
        groovyPagesTemplateEngine.clearPageCache()
        Template template1 = groovyPagesTemplateEngine.createTemplate(templateText, pageName)
        Writable data = template1.make(bindings)
        data.writeTo(output)
        return output
    }

以下是我得到的例外情况:

 Error java.lang.NullPointerException
| Error     at org.codehaus.groovy.grails.web.pages.GroovyPageOutputStack.lookupStack(GroovyPageOutputStack.java:102)
| Error     at org.codehaus.groovy.grails.web.pages.GroovyPageOutputStack.currentStack(GroovyPageOutputStack.java:76)
| Error     at org.codehaus.groovy.grails.web.pages.GroovyPage.initRun(GroovyPage.java:213)
| Error     at org.codehaus.groovy.grails.web.pages.GroovyPageWritable.doWriteTo(GroovyPageWritable.java:199)
| Error     at org.codehaus.groovy.grails.web.pages.GroovyPageWritable.writeTo(GroovyPageWritable.java:128)
| Error     at groovy.lang.Writable$writeTo.call(Unknown Source)
| Error     at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
| Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
| Error     at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
| Error     at com.verecloud.nimbus4.mail.TemplateParserService$$EPpsYO6i.renderGSPTemplate(TemplateParserService.groovy:37)

任何人都知道这个错误的原因。

谢谢!

1 个答案:

答案 0 :(得分:0)

groovyPagesTemplateEngine使用HttpRequest,因此如果我们没有来自Web应用程序的调用,它将因NullPointerException而失败。

因此NPE失败了