怎么才能做到每一行显示4个结果集(即每个tr包含4个td)

crazy_he 2006-07-15 07:01:30
现在有一个vector存着很多图片的地址,每行显示4张图片,如果不满4张,最后一行就显示多出来的那几张。

格式为:

图片 图片 图片 图片
图片 图片 图片 图片
图片 图片 图片

虚心请教高手回答,还有就是如果每行显示2张图片改怎么做呢?
...全文
629 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
nimeide1234567890 2006-07-17
  • 打赏
  • 举报
回复
ding
chrisli1983 2006-07-16
  • 打赏
  • 举报
回复
建议jsp 与 html 不要放在一起写,这样将会影响网页代码的可读性和清晰性,建议使用JSTL标签库
crazy_he 2006-07-16
  • 打赏
  • 举报
回复
这么多朋友帮忙太感动了
trumplet 2006-07-16
  • 打赏
  • 举报
回复
to: lip009(深蓝忧郁) ( ) 信誉:100

你的更正是对的,我是随手写的,有笔误。

<table>
<tr>
<%
for (int i=0;i<vector.size();i++){
out.print("<td>" + vector[i] + "</td>");
if (i%4==0) out.print("</tr><tr>");
}
%>
</tr>
</table>
剑事 2006-07-15
  • 打赏
  • 举报
回复
http://www.blogjava.net/jfy3d/archive/2005/05/11/4172.html
lip009 2006-07-15
  • 打赏
  • 举报
回复
<table>
<tr>
<%
for (int i=0;i<vector.size();i++){
out.print("<td>" + vector[i] + "</td>");
if ((i+1)%4==0 && (i+1)!=vector.size())
out.print("</tr></tr>");
if ((i+1)==vector.size() && (i+1)%4!=0)
for(j=0;j<((i+1)%4);j++){
out.print("<td> </td>");
}
}
%>
</tr>
</table>
yaray 2006-07-15
  • 打赏
  • 举报
回复
注意考虑性能问题.
wuyg719 2006-07-15
  • 打赏
  • 举报
回复
一点小错误,修改如下:
Vector x=new Vector;
...
for(int i=0;i<x.size();i++){
int column=i%4;
if(column=0){
out.println("<tr>");
}
out.println("<td><a href='"+x.get(i)+"'>"+i+"</a></td>");
if(column=3){
out.println("</tr>");
}

}
wuyg719 2006-07-15
  • 打赏
  • 举报
回复
一点小错误,修改如下:
Vector x=new Vector;
...
for(int i=0;i<x.size();i++){
int column=i%4;
if(x=0){
out.println("<tr>");
}
out.println("<td><a href='"+x.get(i)+"'>"+i+"</a></td>");
if(x=3){
out.println("</tr>");
}

}
lip009 2006-07-15
  • 打赏
  • 举报
回复
四楼的不错,简洁,不过 if (i%4==0) out.print("</tr></tr>");这里后面应该是个<tr>吧,而且没有把最后缺的那几个单元格补上
lip009 2006-07-15
  • 打赏
  • 举报
回复
一楼正解,二楼的有点问题撒
trumplet 2006-07-15
  • 打赏
  • 举报
回复
<table>
<tr>
<%
for (int i=0;i<vector.size();i++){
out.print("<td>" + vector[i] + "</td>");
if (i%4==0) out.print("</tr></tr>");
}
%>
</tr>
</table>
lip009 2006-07-15
  • 打赏
  • 举报
回复
楼上正解
wuyg719 2006-07-15
  • 打赏
  • 举报
回复
Vector x=new Vector;
...
for(int i=0;i<x.size();i++){
int column=x%4;
if(x=0){
out.println("<tr>");
}
out.println("<td><a href='"+x.get(i)+"'>"+i+"</a></td>");
if(x=3){
out.println("<ttr>");
}

}
yaray 2006-07-15
  • 打赏
  • 举报
回复
var residue = v.size()%4;

<table>
if(residue>0){

for(int i=0, len=(v.size()-residue); i<len; i+=4){
....;
<tr>
<td> ... </td>
<td> ... </td>
<td> ... </td>
<td> ... </td>
</tr>
}

<tr>
for(int i=v.size()-residue, len=v.size(); i<len; i++){
....;
<td> ... </td>
}
for(int i=residue, len=4; i<len; i++){
....;
<td>   </td>
}
</tr>
}else{
for(int i=0, len=v.size(); i<len; i++){
....;
}
}
</table>

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧