欢迎光临
我们一直在努力

Jsp数据分页-JSP教程,Jsp/Servlet

建站超值云服务器,限时71元/月

作者: 何双江

关键字: java jsp 数据分页 yarshray 何双江

关于web应用中数据分页似乎是个很常见的话题,虽然很多人都写过类似的文章,不过我还是想把我的观点用文字表达出来,虽然没有什么新意,不过或多或少总会给各位一点点帮助的.

首先.对于数据分页,我的理解是在给定当前页号和每页有多少条记录的,以及必须知道总共有多少条记录的前提条件下,对总共多少页,和当前显示记录范围的问题.那么根据以上分析我大体知道,如下问题:

已知条件: 当前页号 每页记录数 总记录数

1求页面总数:

总页数=总记录数/每页记录数;

if总记录数mod每页记录数 //对于有余数,即不能整除的情况下

begin

总页数=总页数+1;

end

`2求当前记录范围

当前首记录=当前页号/总页数 * 总记录数

当前尾记录=当前首记录+每页记录数-1;

那么这里我们就可以根据以上分析完成数据分页代码.

代码示例如下:

<%@ page import="java.sql.*" %>

<%@ page import="java.util.*" %>

<%!

int nowpagenum=0;//当前页号

int onepagecount=10;//每页记录数(目前假设为10条)

int allrecordcount=91;//总记录数(目前假设为91条s)

int allpagecount=0;//总页数

int nowfirst=0;//当前首记录

int nowlast=0;//当前尾记录

%>

<%– page init –%>

<%

//得到总页数

allpagecount=allrecordcount/onepagecount;

if((allrecordcount%onepagecount) > 0){

allpagecount++;

}

//得到当前记录范围

if(request.getparameter("nowpagenum") != null){

nowfirst=(int)((allrecordcount*integer.parseint((string)request.getparameter("nowpagenum"))/allpagecount));

}

nowlast=nowfirst+onepagecount-1;

%>

<%– 数据初始化 –%>

<%

class.forname("数据驱动程序名");

string url="jdbc:url名称 ";

connection conn=drivermanager.getconnection(url);

java.sql.statement cmd=conn.createstatement();

string sql="sql查询语句";

resultset rs=cmd.executequery(sql);

arraylist al=new arraylist();

//移动到最当前页首记录

for(int i=0;i<nowfirst;i++){

rs.next();

}

//取首记录到尾记录

for(int j=nowfirst;j<=nowlast;j++){

if(rs.next()){

al.add(rs.getstring("customerid"));

}else{

break;

}

}

%>

<%– 显示表格 –%>

<html>

<body>

<table>

<tr>

<th>id</th>

</tr>

<%

iterator it=al.iterator();

while(it.hasnext()){

%>

<tr>

<td><%= it.next() %></td>

</tr>

<% }/*end while*/ %>

</table>

<% for(int i=0;i<allpagecount;i++){ %>

<a href="?nowpagenum=<%=i%>"><%= i %></a>

<% } %>

</body>

</html>

总结:

其他相关的web页面数据分页,也可以通过该方法完成.如果你愿意可以把该方法包装成类模板,或其他方面的实现工具.

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Jsp数据分页-JSP教程,Jsp/Servlet
分享到: 更多 (0)