如果设置了HTML标记id,则grails渲染插件中的NullPointerException

时间:2013-01-30 20:08:46

标签: java grails pdf-generation sax xalan

我正在使用Grails渲染插件/服务来创建PDF。用户可以在浏览器中预览PDF数据(然后他点击“下载”按钮并获取PDF)。 PDF和浏览器的一些模板可以统一到一个模板中。因此它只包含在主模板中,然后发送到浏览器或渲染服务。

不幸的是有一个问题:我需要在某些HTML标记上使用ID属性(例如<tr><td>,这些标记用于发送到浏览器的模板中。但是如果有的话模板中某些HTML标记的ID属性被发送到渲染服务,它失败并出现NullPointerException:

Stacktrace follows:
java.lang.NullPointerException
    at com.sun.org.apache.xalan.internal.xsltc.trax.SAX2DOM.startElement(SAX2DOM.java:211)
    at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:204)
    at com.sun.org.apache.xml.internal.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:277)
    at com.sun.org.apache.xml.internal.serializer.ToXMLSAXHandler.startElement(ToXMLSAXHandler.java:646)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:636)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:707)
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
    at org.xhtmlrenderer.resource.XMLResource$XMLResourceBuilder.createXMLResource(XMLResource.java:189)
    at org.xhtmlrenderer.resource.XMLResource.load(XMLResource.java:75)
    at grails.plugin.rendering.document.XhtmlDocumentService.createDocument(XhtmlDocumentService.groovy:55)
    at grails.plugin.rendering.document.XhtmlDocumentService.createDocument(XhtmlDocumentService.groovy:43)
    at grails.plugin.rendering.document.XhtmlDocumentService.createDocument(XhtmlDocumentService.groovy:38)
    at grails.plugin.rendering.RenderingService.render(RenderingService.groovy:34)
    at grails.plugin.rendering.RenderingService.render(RenderingService.groovy:33)
    at MyController$_closure4$$ENw2Jz9v.doCall(MyController.groovy:129)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:619)

我尝试调试SAX2DOM并发现ID元素是一个,导致此异常。以前有人遇到过这个问题吗?非常感谢任何反馈。

0 个答案:

没有答案