1、是否在别的地方也用了setAttribute("tsList", tsit)?
2、“提交去另外一个formbean和actionbean处理完数据回去当前页面的”,是如何回来?如果回来还是用到了这个actionbean,说明又进行了一次tsdao.findAll(null, con),但这次的tsList是空的,又来了一次session.setAttribute("tsList", tsit);,所以前次的session已没用了,你的测试代码没问题也说明了这样的事实,解决的办法就是加一个判断,tsit数据不为空时才进行 ArrayList tsList = tsdao.findAll(null, con);
或者是tsdao和con每次都一样。
2、“提交去另外一个formbean和actionbean处理完数据回去当前页面的”,是如何回来?如果回来还是用到了这个actionbean,说明又进行了一次tsdao.findAll(null, con),但这次的tsList是空的,又来了一次session.setAttribute("tsList", tsit);,所以前次的session已没用了,你的测试代码没问题也说明了这样的事实,解决的办法就是加一个判断,tsit数据不为空时才进行 ArrayList tsList = tsdao.findAll(null, con);
或者是tsdao和con每次都一样。
解决方案 »
- id to load is required for loading
- iBtais的select语句中resultClass是java.util.HashMap返回的键值为什么都是大写的
- 用hibernate连续保存一个实体对象时报错
- 表单验证不为空的问题
- ajax和<select></select>的一些应用!!
- 江湖救急:关于axis2发布的Fault Service问题!!!
- 这样的代码用Struts该怎么写?
- 网上项目学习
- weblogic中如何使用微软自带的连接池驱动
- Service层的上面,是不是还应该有一层处理逻辑的东西?
- RMI中怎样做到共享锁???
- 请问高手们用struts怎么把数据库中的数据取出来并显示呢?
我刚开始搞jsp和struts,很多东西都不是很清晰,代码有点乱,
我再好好地整理一下。在这里我是新人一个,谢谢指教!
因为我要2次跳转,用request不行。TO:kui
1、检查过没有其他地方有setAttribute("tsList", tsit)
2、其实业务流程是这样的:
外面一个超连接直接到TopicAction(也就是setAttr的actionbean),连数据库拿4个表的数据,分别set4个session;在topic.jsp页面用4个html:select+options接收数据,这4个下拉框是用来多条件查询的,另外有一个html:form是单条件查询的,单条件和多条件分别有自己的formbean和actionbean,查询结果都是forward回topic.jsp。问题就在于,TopicAction只有第一次进入的时候才调用过,第一次显示topic。jsp时候正常,接着进行单条件和多条件查询,查询完毕forward回topic。jsp下拉框就没数据了。
最奇怪的是我用第二段代码测试的时候是没问题的。请教一下,第一段代码和第二段代码有什么不同吗???
{
TopicStorageDAOImpl tsdao=exam.getTopicStorageDAOImpl();
ArrayList tsList = tsdao.findAll(null, con);
Iterator tsit = tsList.iterator();
session.setAttribute("tsList", tsit);
}
{
TopicStorageDAOImpl tsdao=exam.getTopicStorageDAOImpl();
ArrayList tsList = tsdao.findAll(null, con);
// Iterator tsit = tsList.iterator();
session.setAttribute("tsList", tsList);
}
把Iterator去掉,直接GET ARRAYLIST就可以了!
oh yeah!!!
去掉Iterator就可以了。。
这是为什么啊,可以详细说一下吗??