2

Grails レンダリング プラグイン/サービスを使用して PDF を作成しています。PDF データは、ブラウザでプレビューできます (その後、「ダウンロード」ボタンをクリックして PDF を取得します)。PDF 用とブラウザ用のテンプレートの一部を 1 つのテンプレートに統合できます。そのため、メイン テンプレートからのみ含まれ、後でブラウザまたはレンダリング サービスに送信されます。

残念ながら、問題があります: いくつかの HTML タグ (ブラウザに送信されるテンプレートで使用される や など) に ID 属性が必要です。しかし、テンプレートに送信される HTML タグに ID 属性がある<tr>場合<td>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 要素がこの例外の原因であることがわかりました。以前にこの問題を経験した人はいますか? フィードバックは大歓迎です。

4

0 に答える 0