在两个页面间传递整数数组的值的问题
我找的一个例子,
String   Name[]   =   {"kucao","oldmouse","smallBird"};    
session.setAttribute("sessionName",Name);  
然后在另一个页面,接收
String[] data   =   (String[])session.getAttribute("sessionName");    
for(int j=0;j<data.length;j++)    
out.println(data[j]);
这个例子没有问题,但是我的具体情况是需要传递整数数组,所以模仿如下:
Integer[] xxbh= new Integer[5];
Statement smt1=con.createStatement();
ResultSet rs1;
String sql1;
sql1 = "select * from xzt where tmbh='"+tmbh+"'";
rs1 = smt1.executeQuery(sql1);
for(int i=0;i<5;i++){
	while(rs1.next()){
xxbh[i]=rs1.getInt("xxbh");
}
}
session.setAttribute("xxbh",xxbh);
接收
Integer[] xxbh=(Integer[])session.getAttribute("xxbh");
for(int i=0;i<5;i++){
out.println(xxbh[i]);}
运行结果,只传递了上个页面最后一个值,其他为空,如:34 null null null null
------解决方案--------------------算法很有问题,很基础的错误。永远只能取得最后一个值。
for(int i=0;i <5;i++){  
while(rs1.next()){  
xxbh[i]=rs1.getInt("xxbh");  
}  
}  
改成
int i = 0;
while(rs1.next){
   xxbh[i]=rs1.getInt("xxbh");  
   i++;
   if( i == 5) break;
}
------解决方案--------------------楼上的正解,只是rs1.next漏了()