我无法让Grails groovyPage Renderer在没有此错误的情况下工作。我尝试了一些不同的解决方案但似乎无法解决它。我已经在Grails 2.1.1和2.4.4上使用servlet 2.5和3.0进行了尝试。试图按照下面的博客上的例子。
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:45,801 [localhost-startStop-1]错误context.GrailsContextLoaderListener - 初始化应用程序时出错:使用名称' renderexample.RenderTestController创建bean时出错&#39 ;: bean的实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[renderexample.RenderTestController]:构造函数抛出异常;嵌套异常是java.lang.NullPointerException:无法在null对象上调用render()方法
消息:使用名称' renderexample.RenderTestController创建bean时出错':bean的实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[renderexample.RenderTestController]:构造函数抛出异常;嵌套异常是java.lang.NullPointerException:无法在null对象上调用render()方法 线|方法 - >> 262 |在java.util.concurrent.FutureTask中运行
感谢任何帮助。感谢。
答案 0 :(得分:1)
我不知道为什么你希望updateRender
方法是静态的。没有充分的理由这样做。
尝试这样的事情......
class RenderTestController {
def renderService
def renderEx() {
def updateList= renderService.updateRender()
// ...
}
}
class RenderService {
PageRenderer groovyPageRenderer
List updateRender() {
def gspReturn = []
gspReturn = [-1, 1, 2]
def htmlBody = groovyPageRenderer.render(template:'/emails/_renderUpdate', model: [results: gspReturn])
// ...
}
}