一个分页的类及调用的例子

 更新时间:2006年10月13日 00:00:00   作者:  

//PageCt.java 分页的类
/*
***  @version        ***********
***  Created on 2001年6月25日, 下午14:41
**************************************
*/
package vod;
import java.sql.*;
import java.util.*;



public class PageCt
{
    private long l_start;   //开始纪录
    private long l_end;     //结束纪录
    private long l_curpage; //当前页数
    private long l_totalnum;//总记录数
    private int int_num=5;  //每页10条
    private long l_totalpage; //总的页数



    public void Init(long currentpage,long totalnum)
    {
        l_curpage = currentpage;
        l_totalnum = totalnum;



        if (currentpage>=0)
        {
             if (currentpage>=(long)Math.ceil((double)l_totalnum/(double)int_num))
                l_curpage = (long)Math.floor((double)l_totalnum/(double)int_num);
             else
                l_curpage = currentpage;
        }
        else
        {
                l_curpage = 0;
        }
        l_start = l_curpage * int_num;
        l_end   = l_start + int_num;
        if (l_end > l_totalnum)
                l_end = l_totalnum;
        l_totalpage = (long)Math.ceil((double)l_totalnum/(double)int_num);
    }
    public long getCurpage()
    {
        return l_curpage;
    }
    public long getPrepage()
    {
        if (l_curpage-1>=0)
        {
            return l_curpage-1;
        }
        else
        {
            return 0;
        }
    }
    public long getNextpage()
    {
        if (l_curpage+1<=l_totalpage)
        {
            return l_curpage+1;
        }
        else
        {
            return l_totalpage;
        }
    }
    public long getTotalnum()
    {
        return l_totalnum;
    }
    public long getTotalpage()
    {
        return l_totalpage;
    }
    public long getStart()
    {
        return l_start;
    }
    public long getEnd()
    {
        return l_end;
    }



};
===============================================
//调用例子
<%
/*
***  @author  马毅   ***********
***  @version        ***********
***  Created on 2001年6月12日, 下午17:13
**************************************
*/
<%@ page import="java.sql.*"%>
<%@ page import="java.lang.*"%>
<%@ page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="PageCount" scope="page" class="kstest.PageCt" />
<jsp:useBean id="sqlbean" scope="page" class="vod.sql_data" />
<html>
<head>
<TITLE>测试</TITLE>
<STYLE>
body,table{font-size:9pt}
A:link {
    COLOR: #000084; TEXT-DECORATION: none
}
A:visited {
    COLOR: #000084; TEXT-DECORATION: none
}
A:hover {
    COLOR: black; TEXT-DECORATION: underline
}
.ourfont {
    FONT-SIZE: 9pt
}
</STYLE>
</head>
<body bgcolor=#eff3ff>
<center>
<font color=#000084><h3>Test for Test</h3></font>
<hr width=600 color=#b5dbff>
<br>
<%
ResultSet rs0 = sqlbean.executeQuery("select count(*) from UserList );
rs0.next();
long data_num=rs0.getLong(1);
long Current_Page = 0;
String currentpage=(String)request.getParameter("currentpage");
if (currentpage != null && !currentpage.equals(""))
{
  Current_Page = Integer.parseInt(request.getParameter("currentpage"));
}
String Query_Page=(String)request.getParameter("Query_Page");
if (Query_Page!=null && !Query_Page.equals(""))
{
  Current_Page = Integer.parseInt(request.getParameter("Query_Page"))-1;
}
PageCt.Init(Current_Page,data_num);
long l_start = PageCt.getStart();
long l_end = PageCt.getEnd();
//查询记录
ResultSet rs = sqlbean.executeQuery("select * from UserList " );
long i=0;
while((i<l_start) && rs.next())
{
      i++;
}  
//输出查询结果
long j=0;
while(rs.next() && (i<l_end))
{
        j=i+1;
    String col2 = rs.getString(2);
    String col3 = rs.getString(3);
    String col4 = rs.getString(4);
    String col5 = rs.getString(5);
    String col6 = rs.getString(6);
    String col7 = rs.getString(7);
    String col8 = rs.getString(8);
    //打印所显示的数据
    out.println("<table border=0 width=600>");
    out.println("<tr><td colspan=2><font color=#000084>" + j + "、"+(col2==null?"":col2)+"</font></td></tr><tr><td colspan=2>答案:"+(col3==null?"":col3)+"</td></tr>");
    out.println("<tr><td>&nbsp;&nbsp;选项1:"+(col4==null?"":col4)+"</td><td>&nbsp;&nbsp;选项2:"+(col5==null?"":col5)+"</td></tr>");
    out.println("<tr><td>&nbsp;&nbsp;选项3:"+(col6==null?"":col6)+"</td><td>&nbsp;&nbsp;选项4:"+(col7==null?"":col7)+"</td></tr>");
    if (col8!=null && !col8.equals(""))
    {
        out.println("<tr><td colspan=2>备注:"+col8+"</td></tr>");
    }
    out.println("</table><br>");
    i++;
}
%>
<table  width=600>
<tr bgcolor=#b5dbff>
<form method=GET action=index.jsp>
<td width=80 align=center valign=bottom>共 <%=PageCt.getTotalnum()%> 条</td>
<td width=80 align=center valign=bottom><%=PageCt.getCurpage()+1%>/<%=PageCt.getTotalpage()%> 页</td>
<td width=120 align=center>查看第 <input type=text name=Query_Page size=3> 页</td>
<td width=50 align=center valign=bottom><a href=index.jsp?currentpage=<%=PageCt.getPrepage()%>>上页</a></td>
<td width=50 align=center valign=bottom><a href=index.jsp?currentpage=<%=PageCt.getNextpage()%>>下页</a>
</td>
</tr>
</table>
<br><br><br>
<table cellspacing=20>
<tr>
<td>问题包含<input type=text name=question_str size=10 value=<% if (question_str != null) out.println(question_str); %> ></td>
<td>答案包含<input type=text name=answer_str size=10 value=<% if (answer_str != null) out.println(answer_str); %> ></td>
<td>选项包含<input type=text name=sel_str size=10 value=<% if (sel != null) out.println(sel); %> ></td>
</tr>
<tr>
<td colspan=3 align=center><input type=submit value=查询></td>
</tr>
</form>
</table>
<br><br>
<a href="insert.jsp">添加</a>
<center>
</body>
</html> 

相关文章

  • Jsp真分页实例---分页

    Jsp真分页实例---分页

    假分页每次只取需要的数据返回给客户端,比起真分页没有那么大的数据库压力。但也因为这个工作特性,所以假分页的方法需要频繁和服务器端进行交互。既然频繁交互,自然也会给服务器带来负担
    2017-04-04
  • JSP计数器的制作

    JSP计数器的制作

    JSP计数器的制作...
    2006-10-10
  • JSP的request对象实例详解

    JSP的request对象实例详解

    这篇文章主要介绍了JSP的request对象实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-09-09
  • Linux 下java jps命令使用解析详解

    Linux 下java jps命令使用解析详解

    这篇文章主要介绍了Linux 下java jps命令使用解析详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • Hibernate 主清单文件配制的详细介绍

    Hibernate 主清单文件配制的详细介绍

    这篇文章主要介绍了Hibernate 主清单文件配制的详细介绍的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • JSP+jquery使用ajax方式调用json的实现方法

    JSP+jquery使用ajax方式调用json的实现方法

    这篇文章主要介绍了JSP+jquery使用ajax方式调用json的实现方法,以实例形式较为详细的分析了前台Ajax调用及后台JSP的处理技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • JSP通用高大上分页代码(超管用)

    JSP通用高大上分页代码(超管用)

    这篇文章主要介绍了JSP通用高大上分页代码(超管用)的相关资料,需要的朋友可以参考下
    2016-01-01
  • JSP 多条SQL语句同时执行的方法

    JSP 多条SQL语句同时执行的方法

    这是一段基本的SQL插入语句,分别将两个值插入到两个表中,上面的程序已经能够完成这一需求,但是实际操作中并不建议这样写
    2009-02-02
  • 一个实用的JSP分页代码

    一个实用的JSP分页代码

    有一个页面请求action,action调用分页实现类,然后到显示分页页面
    2008-09-09
  • 在JSP页面中动态生成图片验证码的方法实例

    在JSP页面中动态生成图片验证码的方法实例

    今天小编就为大家分享一篇关于在JSP页面中动态生成图片验证码的方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论