//调用SERVICE层方法查询基础数据信息
List fmxx = glsb2009SbqService.getFm(nsrxx.getNsrdzdah());
        
//设置封面信息返回表单
glsb2009SbqForm.setSsndL((List) fmxx.get(0));源码采用SSH框架,在Struts层,竟然在这一行报空指针,异常信息如下:
2009-07-20 11:44:29,694 - PortalLog -1669827 [ExecuteThread: '9' for queue: 'default'] ERROR - [类名:]com.dc.portal.nsrywgl.sb.glsb2009.common.action.Glsb2009SbqAction [错误的辅助信息:]20090720114429myserver [原始错误信息:]
java.lang.NullPointerException
at com.dc.portal.nsrywgl.sb.glsb2009.common.action.Glsb2009SbqAction.initFm(Glsb2009SbqAction.java:62)
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:324)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at com.dc.portal.system.servlet.MyActionServlet.process(MyActionServlet.java:24)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1094)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:437)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:20)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5632)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:685)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3213)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2555)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:251)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:219)说明一点:fmxx这个集合是有值的,size=3,他的值为:
[[2007, 2008], 该纳税人有2008、2009的年度未申报,请先做完年度申报,再做年度关联业务往来报告表!, {NDWSB=该纳税人有2008、2009的年度未申报,请先做完年度申报,再做年度关联业务往来报告表!, NBXX=[com.dc.portal.pojo.sb.glsb2009.SbNdsdsGlqy@16b2d99, com.dc.portal.pojo.sb.glsb2009.SbNdsdsGlqy@17ec7b9]}]

解决方案 »

  1.   

    glsb2009SbqForm.setSsndL((List) fmxx.get(0)); 要么 glsb2009SbqForm==null 要么 fmxx==null;可以debug一下,看看到底那个为null,顺疼模瓜
      

  2.   

    Glsb2009SbqAction.java:62
    看看具体位置,好好缕缕!
      

  3.   

    fmxx我已说明不为空了!!
    glsb2009SbqForm为空有什么关系呢?因为我现在就是要给它赋值啊!!!
      

  4.   

    有没有人认为跟环境有关的,比如说JDK啊
    因为这段代码在开发者的机器上是可以跑通的
    但在我的机器上竟然一直报空!!!
      

  5.   

    glsb2009SbqForm为空你还能.setSsndL()????你先弄清楚null与一个已初始化但没有赋值的对象的区别
      

  6.   

    可能是对struts还不够熟悉吧,原来是开发人员没有把Form的配置文件提交上来。其实也不怪啦,谢谢各位的答复,分数平分了!