读书人

跪教jsp分行显示有关问题

发布时间: 2012-03-27 13:44:24 作者: rapoo

跪教jsp分行显示问题?

数据表:
部门 人员
开发部 小a
开发部 小b
开发部 小c
开发部 小d
开发部 小e
办公室 大a
办公室 大b
办公室 大c
. .
. .
. .


效果页面显示为

开发部
小a 小b 小c
小d 小e
办化室
大a 大b 大c

每部门
每行显示三条


[解决办法]
while(rs.next()){
out.println( "tr ");
int i;
for(i=0; i <3&&rs.next(); i++)
out.println( " <td> "+rs.getString(2)+ " </td> ");

out.println( " </tr> ");
}
[解决办法]
int i=1;
while(rs.next()){
if(i==1) { printf( " <br> ");
out.println( " <td> "+rs.getString(2)+ " </td> ");
i++;
if(!rs.next()) printf( " </br> ");
continue;
}

if(i==2) {
out.println( " <td> "+rs.getString(2)+ " </td> ");
i++;
if(!rs.next()) printf( " </br> ");
continue;
}
if(i==3) { i=1;
out.println( " <td> "+rs.getString(2)+ " </td> </br> ");
}
}

试试看~~~~~ -_-

如果不行的话再试试:

Statement stm = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

int i=1;
while(rs.next()){
if(i==1) { printf( " <br> ");
out.println( " <td> "+rs.getString(2)+ " </td> ");
i++;
if(!rs.next()) { printf( " </br> "); rs.previous();}
else rs.previous();
continue;
}

if(i==2) {
out.println( " <td> "+rs.getString(2)+ " </td> ");
i++;
if(!rs.next()) { printf( " </br> "); rs.previous();}
else rs.previous();
continue;
}
if(i==3) { i=1;
out.println( " <td> "+rs.getString(2)+ " </td> </br> ");
}
}


[解决办法]
楼主,人家给出的大概思路,你也不要一定能运行正确,思路对了你大概调试一下很快就出来了。

我也给出一方案

private static int MAX_COL=3;

....

int iNow =0;
while(rs.next()){
if((iNow %MAX_COL )==0){
if(iNow> 0){
out.println( " </tr> ")
}
out.println( " <tr> <td> " + getString(2) + " </td> ")
}else{
out.println( " <td> " + getString(2) + " </td> ")
}


iNow++;
}

while((iNow % MAX_COL )> 0){
out.println( " <td /> ")

}

out.println( " </tr> ")


没测试过,思路你看看吧。

读书人网 >Java Web开发

热点推荐