永发信息网

struts2.0 中,list集合中是有值的,打印出来的list.size()是4 ,为什么list.get(0).getXXX()会报空指针

答案:2  悬赏:50  手机版
解决时间 2021-04-02 02:40
  • 提问者网友:富士山上尢
  • 2021-04-01 21:28
struts2.0 中,list集合中是有值的,打印出来的list.size()是4 ,为什么list.get(0).getXXX()会报空指针
最佳答案
  • 五星知识达人网友:平生事
  • 2021-04-01 21:37
private Flycgdetail flyCGDetail;
这个东西,getter setter 方法没有,另外,只在类里初始化一下,又没从什么地方传过来,肯定会空指针啊~
if((cgList!=null && cgList.size()>0) ) 这段代码,这样写就可以if(cgList.size()>0));
Flycgdetail fc=new Flycgdetail(); 这个地方,在你页面调findByEmpNo()的时候,每次if(empNo>0)条件成立都会有一个新的对象生成,那肯定在类里打印能打印size()但是在页面的时候,调一次方法,就是一个新的对象,那么就只有一个EmpNo,这很正常。
全部回答
  • 1楼网友:拾荒鲤
  • 2021-04-01 22:20
总体来说看你这个代码就知道
你不知道你为什么写出这段代码的
你对你的架构完全不知道,只是看别人这样写就这样写!!
猜测可能两个地方
lyCGDetail没有初始化,即没有NEW或者没有IOC注入
list.size()是4 ,为什么list.get(0).getXXX() 可能是你在的数据库SESSION在在ACTION层已经失效(数据这时可能没有真正加载)追问在用断点调试的时候,list中是有数据的!!!追答那你就该知道在哪里丢失数据的?
贴个错误代码看看追问如果没有打印System.out.println(cgList.get(0).getEmpNo());
在页面上只能显示出empNO,其他的都是没有数据的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯