菜鸟的笔记-----异常1
Methodpublicjava.lang.mons.lang.exception.NestableRuntimeException.getMessage(int)threwanexceptionwheninvokedonnet.sf.json.JSONException:Objectisnull
Theproblematicinstruction:
----------
==>${msg[0]}[online68,column29inorg/apache/struts2/dispatcher/error.ftl]
----------
Javabacktraceforprogrammers:
----------
freemarker.template.TemplateModelException:Methodpublicjava.lang.mons.lang.exception.NestableRuntimeException.getMessage(int)threwanexceptionwheninvokedonnet.sf.json.JSONException:Objectisnull
atfreemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:130)
atfreemarker.ext.beans.SimpleMethodModel.get(SimpleMethodModel.java:138)
atfreemarker.core.DynamicKeyName.dealWithNumericalKey(DynamicKeyName.java:111)
atfreemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:90)
atfreemarker.core.Expression.getAsTemplateModel(Expression.java:89)
atfreemarker.core.Expression.getStringValue(Expression.java:93)
atfreemarker.core.DollarVariable.accept(DollarVariable.java:76)
atfreemarker.core.Environment.visit(Environment.java:221)
atfreemarker.core.MixedContent.accept(MixedContent.java:92)
atfreemarker.core.Environment.visit(Environment.java:221)
atfreemarker.core.IfBlock.accept(IfBlock.java:82)
atfreemarker.core.Environment.visit(Environment.java:221)
atfreemarker.core.IteratorBlock$Context.runLoop(IteratorBlock.java:179)
atfreemarker.core.Environment.visit(Environment.java:428)
atfreemarker.core.IteratorBlock.accept(IteratorBlock.java:102)
atfreemarker.core.Environment.visit(Environment.java:221)
atfreemarker.core.MixedContent.accept(MixedContent.java:92)
atfreemarker.core.Environment.visit(Environment.java:221)
atfreemarker.core.IfBlock.accept(IfBlock.java:82)
atfreemarker.core.Environment.visit(Environment.java:221)
atfreemarker.core.MixedContent.accept(MixedContent.java:92)
atfreemarker.core.Environment.visit(Environment.java:221)
atfreemarker.core.Environment.process(Environment.java:199)
atfreemarker.template.Template.process(Template.java:259)
atorg.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:830)
atorg.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:534)
atorg.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
atorg.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atcom.zst.cloudzst.util.UrlFilter.doFilter(UrlFilter.java:60)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
atorg.apache..AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)
atorg.apache..AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)
atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
atjava.lang.Thread.run(Thread.java:722)
Causedby:java.lang.NullPointerException
atfreemarker.ext.beans.SimpleMemberModel.unwrapArguments(SimpleMemberModel.java:86)
atfreemarker.ext.beans.SimpleMethodModel.exec(SimpleMethodModel.java:106)
...51more
十一月26,4:08:36下午org.apache.catalina.core.StandardWrapperValveinvoke
SEVERE:Servlet.service()forservlet[default]incontextwithpath[/co]threwexception
java.lang.IllegalStateException:CannotcallsendError()aftertheresponsehasbeencommitted
atorg.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:450)
atorg.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:834)
atorg.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:534)
atorg.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
atorg.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:88)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atcom.zst.cloudzst.util.UrlFilter.doFilter(UrlFilter.java:60)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareFilter.doFilter(StrutsPrepareFilter.java:82)
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:442)
atorg.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1082)
atorg.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:623)
atorg.apache..AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2517)
atorg.apache..AprEndpoint$SocketProcessor.run(AprEndpoint.java:2506)
atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
atorg.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
atjava.lang.Thread.run(Thread.java:722)
这是最近遇到的异常,准确的说是第二次遇见这种异常了,第一次遇见的时候请教了同事,同事很快给我指出是数据的问题,当查看数据的时候发现数据库中的好几个字段为字符串null,造成为字符串null的原因是同步数据造成,这里就不细说,因为不是我写的(哭笑不得),于是把为字符串null的字段转换成空字符,然后就ok啦,第二次遇见的时候因为没有长记性,所以耽误了宝贵的时间去调,也判断了每一个字段是够为null,代码里写为(null == 某字段||(“null”)==某字段)后来询问了同事,同事说我把判断条件写错了,null == 某字段既然可以去到这个字段,说明这个字段不可能为空,不过我对null还是有些迷惑,待研究清楚之后再来做笔记。去掉null == 某字段之后,然后异常解决。