[標(biāo)題]:調(diào)試EL函數(shù)時(shí),Tomcat提示NullPointerException
[時(shí)間]:2009-4-2
[摘要]:EL函數(shù)對(duì)應(yīng)的Java方法必須是靜態(tài)的。
[關(guān)鍵字]:NullPointerException,EL函數(shù),taglib,function,JSP
[平臺(tái)]:Tomcat6
[作者]:Winty (wintys@gmail.com)
[正文]:
調(diào)試EL函數(shù)時(shí),Tomcat提示如下錯(cuò)誤:
java.lang.NullPointerException
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 org.apache.el.parser.AstFunction.getValue(AstFunction.java:94)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:928)
at org.apache.jsp.ch11_005fEL.ELFunction.ELFunctionTest_jsp._jspService(ELFunctionTest_jsp.java:67)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:866)
at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:716)
at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1498)
at java.lang.Thread.run(Thread.java:619)
在網(wǎng)上查到了類似java.lang.reflect.Method.invoke的錯(cuò)誤信息,與自己的并不一致。最后,發(fā)現(xiàn)書上講到的一句話,EL函數(shù)對(duì)應(yīng)的Java方法必須是靜態(tài)的。錯(cuò)誤原因就是這樣。把所涉及的方法改為靜態(tài)就可以正常執(zhí)行EL函數(shù)了。
posted on 2009-04-03 19:02
天堂露珠 閱讀(393)
評(píng)論(0) 編輯 收藏 所屬分類:
Error