分行分页显示每页12条记录3行4列这是我的一段代码
<table width="680" height="156" border="0" align="center">
<%
for(int j = 0 ;j<list.size();j=j+3){
%>
<tr>
<td width="150" height="216" ><%p =(Products)list.get(j); out.print(p.getP_name());%></td>
<td width="150" height="216" ><%p =(Products)list.get(j+1); out.print(p.getP_name());%></td>
<td width="150" height="216" ><%p =(Products)list.get(j+2); out.print(p.getP_name());%></td>
</tr>
<%}%>
</table>假如我数据库有8条数据就出现了数组越界
解决方案 »
- 导出PDF
- java应届生工作の纠结
- 有没有从多个XML文件中批量提取固定内容的工具呀
- 请问,如何把“上海”下的所以子目录(包括“上海”)移动到“北京”的前面
- jsp页面,为什么同一记录会重复显示?麻烦各位大哥帮忙
- 关于向MySQL插入中文问题。
- 各位高手,帮我解释一下这个跳动的菜单,我控制不了他出现的位置,谢谢
- 为什么mime type的配置不起作用呢?
- 50万会员的电影下载、Blog、相册,流媒体不在这个服务器上,这个服务器怎么配置硬件?
- 【打扰了】如何生成不重复的随机数?
- 请问tomcat的server.xml文件中的意思及如何提高tomcat的相应速度
- struts1中dynaactionform和Dao的问题
<%
int num = 4; //列数
int i = 1 ;
for(int j = 0 ;j<list.size();j=j++){
%>
<% if( (i-1)%num == 0 ){ %>
<tr>
<% } %>
<td width="150" height="216" ><%p =(Products)list.get(j); out.print(p.getP_name());%></td>
<% if( i%num == 0 ){ %>
</tr>
<% } i++; %>
<%}%>
</table>
修正如下,加多了个条件:
<table width="680" height="156" border="0" align="center">
<%
int num = 4; //列数
int i = 1 ;
for(int j = 0 ;j<list.size();j=j++){
%>
<% if( (i-1)%num == 0 ){ %>
<tr>
<% } %>
<td width="150" height="216" ><%p =(Products)list.get(j); out.print(p.getP_name());%></td>
<% if( i%num == 0 || i == list.size() ){ %>
</tr>
<% } i++; %>
<%}%>
</table>
<%
for(int j = 0 ;j<list.size();j++){ //把j=j+3换成 j++
%>
<% if(j%3==0) { %>
<tr>
<%}%>
<td width="150" height="216" ><%p =(Products)list.get(j); out.print(p.getP_name());%></td><% if((j%3==2 )|| (j == list.size()-1)) { %>
</tr>
<%}%> <%}%>
</table>
再次修正,引用的代码会造成某行有4列,而某行则只有3列(多数出现在最后一行)。这样的表格不太规范。
完善一下,就是最后一行补上缺了的列。
<table width="680" height="156" border="0" align="center">
<%
int num = 4; //列数
int i = 1 ;
for(int j = 0 ;j<list.size();j=j++){
%>
<% if( (i-1)%num == 0 ){ %>
<tr>
<% } %>
<td width="150" height="216" ><%p =(Products)list.get(j); out.print(p.getP_name());%></td>
<%
if( i == list.size() && list.size()%num != 0 ){
for( int k = 0; k < ( num - ( list.size()%num ) );k ++ ){
%>
<td></td>
<%
}
}
%> <% if( i%num == 0 || i == list.size() ){ %>
</tr>
<% } i++; %>
<%}%>
</table>
<%
int num = 4; //列数
int i = 1 ;
for(int j = 0 ;j<list.size();j++){
%>
<% if( (i-1)%num == 0 ){ %>
<tr>
<% } %>
<td width="150" height="216" ><%p =(Products)list.get(j); out.print(p.getP_name());%></td>
<%
if( i == list.size() && list.size()%num != 0 ){
for( int k = 0; k < ( num - ( list.size()%num ) );k ++ ){
%>
<td></td>
<%
}
}
%> <% if( i%num == 0 || i == list.size() ){ %>
</tr>
<% } i++; %>
<%}%>
</table>