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,还有什么其他办法吗?
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,还有什么其他办法吗?
...全文
相关推荐
struts2引用库
struts2引用库struts2引用库struts2引用库
ajax struts2 下拉框赋值(适合所有)
1.此代码适合所有下拉列表取值 2.一个项目所有的下拉列表只需要这一个公用方法; 步骤一:创建实体bean; 代码如下: public class DictionaryBean { private String value_Id;//下拉框option的id private String value;//下拉框option的值 private String flag;//对应下拉框的值的类型,如flag=1,下拉列表为省份信息,flag=2为市级信息等; public String getValue_Id() { return value_Id; } public void setValue
详解Struts2中json 相互引用死循环解决办法
本篇文章主要介绍详解Struts2中json 相互引用死循环解决办法,具有一定的参考价值,有兴趣的可以了解一下。
解决struts2配置为/*之后 servlet不能使用的问题
解决struts2配置为/*之后 servlet不能使用的问题
Struts中FormBean的日期类型字段赋值自动转化
NULL 博文链接:https://zywang.iteye.com/blog/413003


Web 开发
