2013-04-14 2 views
1
StackTrace

Ошибки:при преобразовании моего 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 Rendering Plugin.
  • У вас есть элемент в gsp, который содержит текст «&». Например: Ярлык, как <p>S & P 500</p>

Решение: строка должна быть закодирована в виде HTML. Используйте .encodeAsHTML() в gsp, где вы ожидаете '&'.

Пример GSP Код:

var abc = "S & P 500"; 
<p>abc.encodeAsHTML()</p> 
Смежные вопросы