2013-04-14 27 views
1

錯誤堆棧跟蹤:轉換我的GSP頁面時PDF我收到錯誤

org.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference. 
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) 
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transformIdentity(TransformerImpl.java:638) 
    at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709) 
    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 org.xhtmlrenderer.resource.XMLResource$load.call(Unknown Source) 
    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.document.XhtmlDocumentService$createDocument.call(Unknown Source) 
    at grails.plugin.rendering.RenderingService.render(RenderingService.groovy:34) 
    at grails.plugin.rendering.RenderingService.render(RenderingService.groovy:33) 
    at grails.plugin.rendering.RenderingService$render$0.callCurrent(Unknown Source) 
    at grails.plugin.rendering.RenderingService.render(RenderingService.groovy:63) 
    at grails.plugin.rendering.RenderingService$render.call(Unknown Source) 
    at RenderingGrailsPlugin$_closure1.doCall(RenderingGrailsPlugin.groovy:48) 
    at RenderingGrailsPlugin$_closure1.call(RenderingGrailsPlugin.groovy) 
    at com.zocampus.ExamScoresController$_closure31.doCall(ExamScoresController.groovy:525) 
    at com.zocampus.ExamScoresController$_closure31.doCall(ExamScoresController.groovy) 
    at org.grails.jaxrs.web.JaxrsFilter.doFilterInternal(JaxrsFilter.java:46) 
    at java.lang.Thread.run(Thread.java:619) 
+1

你能告訴源數據? Stacktrace說你有'&'無效的用法 –

回答

2

觀察:

  • 您正在使用的Grails渲染插件。
  • 你在gsp中有一個元素,在文本中有一個'&'。 例如:一種標籤爲<p>S & P 500</p>

解決方案: 字符串需要被編碼爲HTML。在你期待'&'的gsp中使用.encodeAsHTML()

樣品GSP代碼:

var abc = "S & P 500"; 
<p>abc.encodeAsHTML()</p>