字段太多了,怎么办(还是100分求助)?
我用Struts做一个报表统计系统。。。
从一张有很多字段的表里面得到一条select结果集
现在我要在页面打印出来··因为这个表的字段有几十个·
我想到两个方法:
1.建一个跟这张表字段对应的BEAN,然后把查询结果以TableBean.setId(rs.getString( "id "))的形式写入BEAN,最后通过session.setAttribute( "Tbean ",TableBean)把bean传到页面··
2.直接用String id=rs.getString( "id "),session.Attribute( "id ",id)把每个字段传回页面··(单条记录的话用这个)
这两种做法都需要写很多的rs.getString( "**** ")...
所以我想问你一下有更简洁的方法么?
有没有不用这些页面空间(page、request、session)传结果的方法?
session容量有限,在什么情况下清空比较好?
------解决方案--------------------关注中。。。。
------解决方案--------------------个人建议用第一种方式
1.建一个跟这张表字段对应的BEAN,然后把查询结果以TableBean.setId(rs.getString( "id "))的形式写入BEAN
如果查询结果多的话,可以将BEAN装入VECTOR中,然后将VECTOR传到页面进行显示就OK了
------解决方案--------------------for(int i=0;i <vecMy.size();i++)
{
TableBean temp = new TableBean();
temp = (TableBean)vecMy.elementAt(i);
........
------解决方案--------------------反射
------解决方案--------------------字段多又不是LZ的问题,个人觉得写到BEAN里面去解决
有没有不用这些页面空间(page、request、session)传结果的方法?
如果由于内存问题一定要放在别的地方的话,只有文本了~~查询出来的值在XML或追加到PROPERTIES里~~
------解决方案--------------------第一种
------解决方案--------------------用spring框架和好的编译工具比如Eclipse,NetBean等可以减少很多你说的这个get...() set...()操作,他们可以自动生成,Spring也可以自动的帮你从数据库的字段赋值到相应的实体类的属性中。然后你可以把这个实体类返回到页面,至于在页面中用一个个get。。。()的方法取得不同的属性值这个是少不了的了。如果真要发懒,自己做一个方法来简化这个过程也是可以的,不过没这个必要。
------解决方案--------------------sixme (子曾经曰过:“基础和算法才素王道”。)
=====
支持!!
程序 = 算法 + 数据结构。
------解决方案--------------------将检索出来的结果分为N个BEAN对象,存到LIST中,再将list用request传到页面。
JSP用一个 <c:forEach> 循环直接就出来了。
------解决方案--------------------用bean,不覺得麻煩
------解决方案--------------------只能用session .兄弟不要再想别的方法了。
------解决方案--------------------session容量有限,在什么情况下清空比较好?
这个好办啊.只要存储一个字段(当然是主码了。)
然后在别的页面再用这个主码从数据库中取啊.
------解决方案--------------------我觉得还是用反射比较好
------解决方案--------------------当然是第一个了 用反射来做这个 有必要么?
------解决方案--------------------用完你需要的数据就可以把Session清空啊。
楼主犯傻啦?
------解决方案--------------------没必要用session吧,用request就行,把每条数据存在一个bean里,多个bean又存在一个List里,然後用request传到页面显示出来就可以了,页面显示的时候还可以用标签,简洁
------解决方案--------------------呵呵。这个我还不太清除。等我会的就来解答。。很快。保证很快就能替你解答
------解决方案--------------------用数组存取会减少一些代码量
------解决方案--------------------try{
form f0 = new form();//Your Form Obj
Class c = Class.forName( "from940.form ");
Field[] f = c.getDeclaredFields();//All Field
for(int i=0;i <f.length;i++){