title: Grails rendering plugin does not work in Grails3.2.4?
body: <p>I want to render a view to pdf and tried using the Grails rendering plugin 2.0.3</p>
  
  <p>I tried the simplest gsp-file to start with:</p>
  
  <pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
  &lt;!--
    To change this license header, choose License Headers in Project Properties.
    To change this template file, choose Tools | Templates
    and open the template in the editor.
  --&gt;
  
  &lt;%@ page contentType="text/html;charset=UTF-8" %&gt;
  
  &lt;html&gt;
      &lt;head&gt;
          &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;
          &lt;title&gt;Sample title&lt;/title&gt;
      &lt;/head&gt;
      &lt;body&gt;
          &lt;h1&gt;Sample line&lt;/h1&gt;
      &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>And in the controller:</p>
  
  <pre><code>    def report() {
          def OfferHeader oh = OfferHeader.get(15)
          println("&gt;&gt;&gt; Offerheader: "+oh.sawMill)
  //        render(template: "/offerHeader/Test")
          renderPdf(template: "/offerHeader/Test",  filename: "offertrapport.pdf")
  
      }
  </code></pre>
  
  <p>And that ends with:</p>
  
  <pre><code>2017-04-14 11:26:55.989 ERROR --- [nio-8080-exec-6] o.g.web.errors.GrailsExceptionResolver   : NullPointerException occurred when processing request: [GET] /offerHeader/report/15
  Stacktrace follows:
  
  java.lang.reflect.InvocationTargetException: null
      at org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker.invoke(DefaultGrailsControllerClass.java:210)
      at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:187)
      at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90)
      at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
      at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
      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.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:317)
      at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)
      at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)
      at grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter.doFilter(UpdateRequestContextHolderExceptionTranslationFilter.groovy:64)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.groovy:53)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.groovy:62)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.groovy:58)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
      at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)
      at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)
      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:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
  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 grails.plugins.rendering.RenderingTrait$Trait$Helper.render(RenderingTrait.groovy:66)
      at grails.plugins.rendering.RenderingTrait$Trait$Helper.renderPdf(RenderingTrait.groovy:45)
      at com.torntrading.portal.OfferHeaderController.$tt__report(OfferHeaderController.groovy:123)
      at grails.transaction.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:96)
      at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
      at grails.transaction.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:93)
      ... 37 common frames omitted
  </code></pre>
  
  <p>What am I missing? Or is it not expected to work with this version of grails (3.2.4)?</p>
  
  <p>Maybe there is better plugins to use?</p>