Groovy 异常之Caused by: java.lang.NullPointerException: Cannot invoke method get() on null object

2019-03-12 14:29:00,758 ERROR ~ Cannot invoke method get() on null object
2019-03-12 14:29:00,763 ERROR ~ play.exceptions.TemplateExecutionException: Cannot invoke method get() on null object
2019-03-12 14:29:00,814 ERROR ~ Internal Server Error (500) for request GET /product/detail-8116285-1637158.html
play.exceptions.TemplateExecutionException: Cannot invoke method get() on null object
	at play.templates.BaseTemplate.throwException(BaseTemplate.java:84)
	at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:243)
	at play.templates.Template.render(Template.java:26)
	at play.mvc.results.RenderTemplate.(RenderTemplate.java:24)
	at play.mvc.Controller.renderTemplate(Controller.java:657)
	at play.mvc.Controller.renderTemplate(Controller.java:637)
	at play.mvc.Controller.render(Controller.java:692)
	at controllers.remote.mp.MpTicketController.getProductGoodsDetail(MpTicketController.java:2319)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:682)
	at play.mvc.ActionInvoker.invoke(ActionInvoker.java:640)
	at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:616)
	at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:611)
	at play.mvc.ActionInvoker.invoke(ActionInvoker.java:174)
	at play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:237)
	at play.Invoker$Invocation.run(Invoker.java:264)
	at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:217)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException: Cannot invoke method get() on null object
	at /app/views/mp/productDetail.html.(line:229)
	at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:220)
	at play.templates.Template.render(Template.java:26)
	at play.mvc.results.RenderTemplate.(RenderTemplate.java:24)
	at play.mvc.Controller.renderTemplate(Controller.java:657)
	at play.mvc.Controller.renderTemplate(Controller.java:637)
	at play.mvc.Controller.render(Controller.java:692)
	at controllers.remote.mp.MpTicketController.getProductGoodsDetail(MpTicketController.java:2319)
	... 16 more

play.exceptions.TemplateExecutionException: Cannot invoke method get() on null object
	at play.templates.BaseTemplate.throwException(BaseTemplate.java:84)
	at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:243)
	at play.templates.Template.render(Template.java:26)
	at play.mvc.results.RenderTemplate.(RenderTemplate.java:24)
	at play.mvc.Controller.renderTemplate(Controller.java:657)
	at play.mvc.Controller.renderTemplate(Controller.java:637)
	at play.mvc.Controller.render(Controller.java:692)
	at controllers.remote.mp.MpTicketController.getProductGoodsDetail(MpTicketController.java:2319)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:682)
	at play.mvc.ActionInvoker.invoke(ActionInvoker.java:640)
	at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:616)
	at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:611)
	at play.mvc.ActionInvoker.invoke(ActionInvoker.java:174)
	at play.server.PlayHandler$NettyInvocation.execute(PlayHandler.java:237)
	at play.Invoker$Invocation.run(Invoker.java:264)
	at play.server.PlayHandler$NettyInvocation.run(PlayHandler.java:217)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException: Cannot invoke method get() on null object
	at /app/views/mp/productDetail.html.(line:229)
	at play.templates.GroovyTemplate.internalRender(GroovyTemplate.java:220)
	at play.templates.Template.render(Template.java:26)
	at play.mvc.results.RenderTemplate.(RenderTemplate.java:24)
	at play.mvc.Controller.renderTemplate(Controller.java:657)
	at play.mvc.Controller.renderTemplate(Controller.java:637)
	at play.mvc.Controller.render(Controller.java:692)
	at controllers.remote.mp.MpTicketController.getProductGoodsDetail(MpTicketController.java:2319)
	... 16 more

上面的错误总是显示空指针异常,而且原因是Cannot invoke method replace() on null object,

查看代码

 Groovy 异常之Caused by: java.lang.NullPointerException: Cannot invoke method get() on null object_第1张图片

Groovy 异常之Caused by: java.lang.NullPointerException: Cannot invoke method get() on null object_第2张图片

其实这个问题的原因,根本就不是229这句代码的原因,原因是214行这句代码的原因,可是错误日志显示的确实229行。

修改方法如下,就是把214行,这个地方,加一个校验就够了

Groovy 异常之Caused by: java.lang.NullPointerException: Cannot invoke method get() on null object_第3张图片

 

你可能感兴趣的:(play,Groovy,Java,play)