Skip to content

Won't render pdf  #42

@chrismalan

Description

@chrismalan

Grails version: 3.3.1 Rendering plugin: 2.0.3
To duplicate, create a Grails project with one class called Person with three String attributes: name, surname, emailAddress. At the bottom of the show view I have this:
<g:link class="edit" action="pdfThis" resource="${this.person}">Pdf This</g:link>
The method in the controller is this:

def pdfThis(Long id){
        def person = Person.get(id)
        if(person){
            pdfRenderingService.render(template: "/templates/pdf/person", model: [person: person], controller: "person", response) // this is line 105
        }
    }

I notice that def pdfRenderingService does not work anymore. One has to have:
grails.plugins.rendering.pdf.PdfRenderingService pdfRenderingService in the controller.

This is the template, called _person.gsp, in views/templates/pdf/

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html>
    <head>
        <title>A PDF Document</title>
    </head>
    <body>
        <h1>${person?.name} ${person?.surname}</h1>
        <p>
            Your email address: ${person?.emailAddress}
        </p>
    </body>
 </html>

These are the exceptions:

java.lang.reflect.InvocationTargetException: null
        at org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker.invoke(DefaultGrailsControllerClass.java:211)
        at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:188)
        at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
        at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
        at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
        at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
        at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)
        at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77)
        at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
        at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1337)
        at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1197)
        at java.beans.Introspector.getBeanInfo(Introspector.java:426)
        at java.beans.Introspector.getBeanInfo(Introspector.java:173)
        at grails.plugins.rendering.document.RenderEnvironment.init(RenderEnvironment.groovy:31)
        at grails.plugins.rendering.document.RenderEnvironment.with(RenderEnvironment.groovy:68)
        at grails.plugins.rendering.document.RenderEnvironment.with(RenderEnvironment.groovy:60)
        at grails.plugins.rendering.document.XhtmlDocumentService.generateXhtml(XhtmlDocumentService.groovy:65)
        at grails.plugins.rendering.document.XhtmlDocumentService.createDocument(XhtmlDocumentService.groovy:35)
        at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:36)
        at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:35)
        at grails.plugins.rendering.RenderingService.render(RenderingService.groovy:65)
        at rendering.PersonController.pdfThis(PersonController.groovy:105)

I have no idea what is null and why it is null. Everything I am responsible for is there and is not null.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions