Struts2不能给页面元素进行引用赋值
一个页面中的元素,在action中定义:
private List<Info> infolist;
getter & setter 省略;
这里不是通常的dao取数据赋值,而是从一个列表中有选择的add到list里,所以我new了一个临时list:
List l = new ArrayList(); //这里如果直接infolist.add会报空指针,我又不想new它
l = …… //new 了一个list,然后赋值;
infolist = l ; //这里赋值给页面元素;
然后debug页面发现infolist是空的,百思不得其解。
然后改为 先new一下infolist,然后赋值,成功。
原因:午睡时突然醒悟:new 的 list 在heap里,当然不在页面的stack里。infolist变量在stack中,指向的对象在heap中,自然无法得到了。
然后又思索为什么infolist = dao.getlist().... 就可以?
dao也在action里面get、set了,取得的对象就可以在页面的stack中得到,大概是这个原因吧。高手指导一下。
最后我还是new了infolist,还有什么其他办法吗?