Я не могу заставить Grails GroovyPage Renderer работать без этой ошибки. Я попробовал несколько различных решений, но, похоже, не смог его решить. Я пробовал это на Grails 2.1.1 и 2.4.4 с обоих сервлетов 2.5 и 3.0. Пытался следовать примеру в блоге ниже.Ошибка Grails groovyPageRenderer: невозможно вызвать метод render() для нулевого объекта
http://mrhaki.blogspot.com/2012/03/grails-goodness-render-gsp-views-and.html
Источник:
class RenderTestController {
static allowedMethods = [save: "POST", update: "PUT", delete: "DELETE"]
def renderEx {
def updateList= RenderService.updateRender()
}
Услуги:
package renderexample
import grails.gsp.PageRenderer
import java.util.List;
import java.util.Map;
class RenderService {
public static List updateRender() {
PageRenderer groovyPageRenderer
def gspReturn = []
gspReturn = [-1, 1, 2]
def htmlBody = groovyPageRenderer.render(template:'/emails/_renderUpdate', model: [results: gspReturn])
println htmlBody
return gspReturn
}
}
Ошибка 2015-08-10 15: 39: 45801 [локальный-стартстопный-1] ERROR context.GrailsContextLoaderListener - Ошибка при инициализации приложения: Ошибка создания bean-компонента с именем «renderexample.RenderTestController»: Ошибка создания бина; Вложенное исключение - org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр класса bean [renderexample.RenderTestController]: конструктор сделал исключение; inest exception is java.lang.NullPointerException: Не удается вызвать метод render() для нулевого объекта
Сообщение: Ошибка при создании bean-компонента с именем 'renderexample.RenderTestController': Ошибка создания бина; Вложенное исключение - org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр класса bean [renderexample.RenderTestController]: конструктор сделал исключение; Вложенное исключение - java.lang.NullPointerException: Невозможно вызвать метод render() для нулевого объекта Строка | Метод - >> 262 | run in java.util.concurrent.FutureTask
Любая помощь приветствуется. Благодарю.
Джей, кроме фиксации метод updateRender поэтому не статична, как сказал Джефф, обратите внимание, что * PageRenderer groovyPageRenderer * должно быть свойство * RenderService * класса. В противном случае инъекция зависимости не будет работать, что означает, что groovyPageRenderer будет равен нулю. –