以下是已创建的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)
任何人都知道这个错误的原因。
谢谢!
答案 0 :(得分:0)
groovyPagesTemplateEngine使用HttpRequest,因此如果我们没有来自Web应用程序的调用,它将因NullPointerException而失败。
因此NPE失败了