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

//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>  选项1:"+(col4==null?"":col4)+"</td><td>  选项2:"+(col5==null?"":col5)+"</td></tr>");
    out.println("<tr><td>  选项3:"+(col6==null?"":col6)+"</td><td>  选项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>

(0)

相关推荐

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

    //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_

  • 一个通用的Java分页基类代码详解

    分页的基类 import java.util.List; /** * 分页显示的标准类,基本操作,是先给予-当前页数一共的数据条数-每页显示的条数, * 然后在初始化该类,得到总共页数,和开始序号和结束序号, * 然后数据库分页用到开始序号和结束序号,得到数据集合后赋值给该类的list属性, * * 然后把该类发送到jsp页面,进行访问 * @author admin * * @param <T> */ public class PageBean<T> { private int

  • asp又一个分页的代码例子

    一个分页代码例子 <%''本程序文件名为:Pages.asp%> <%''包含ADO常量表文件adovbs.inc,可从"\Program Files\Common Files\System\ADO"目录下拷贝%> <!--#Include File="adovbs.inc"--> <%''*建立数据库连接,这里是Oracle8.05数据库 Set conn=Server.CreateObject("ADODB.C

  • 详解Mybatis极其(最)简(好)单(用)的一个分页插件

    注意:这篇博客已经和当前的分页插件完全不一样了,所以建议大家通过上面项目地址查看最新的源码和文档来了解. 以前为Mybatis分页查询发愁过,而且在网上搜过很多相关的文章,最后一个都没采用.在分页的地方完全都是手写分页SQL和count的sql,总之很麻烦. 后来有一段时间想从Mybatis内部写一个分页的实现,我对LanguageDriver写过一个实现,自动分页是没问题了,但是查询总数(count)仍然没法一次性解决,最后不了了之. 最近又要用到分页,为了方便必须地写个通用的分页类,因此又再

  • asp.net中使用自定义控件的方式实现一个分页控件的代码

    一.概述 在web开发中,常常需要显示一些数据,而为了方便排版及浏览,我们只需要显示所有记录中的一部分.一般情况下,我们采用分页来实现这个需求.实现分页的方法多种多样,在本文中,我们采用了一个分页空间来记录记录总数.当前页.总页数及页面大小等.为了有一个直观上的印象,先展示该控件运行后的效果,效果如下图所示: 二.实现方案 为了实现该效果图,在asp.net中,可以使用Custom Controls and User Controls两种方式,User Controls的实现方式及其简单,而且使

  • 常用PHP封装分页工具类

    分页基本上是每个项目都会使用到的,所以呢,把它封装成一个工具类,以后直接调用就可以了(虽然TP框架的灰常强大,但是自己封一个也未尝不可.),这样既省时又省力还赚'工分'. 我封的这个分页工具类还比较完整,有首页,上一页,下一页,末页和可选数量的页码数量(也就是当页面很多时,只显示依据参数传入的个数),还可以依据需求选择是否使用下拉跳转页面功能. <?php /** * 分页工具类 */ class page{ /** * 返回分页所需字符串 * @param $pageNum int 显示的页码

  • java分页工具类的使用方法

    说明:曾经在网上看过花样繁多的分页,很多都号称如何通用,但很多时候往往不尽如人意:有在分页类中还加入URL地址信息的,有在分页类中还进行分页动作处理(此动作完全属于操作数据库方面的事情)的.现在好了,经本人总结与提炼: 无论你是否自己手动分页,还是借助了框架进行分页.此工具类都可以帮助你达到稳定的分页效果(包括导航页码功能),而且使用方法也相对简单:好了,废话少说,代码如下: package test.dao; import java.util.List; /** * 用于分页的工具类 * @a

  • Java实现的分页工具类与用法示例

    本文实例讲述了Java实现的分页工具类与用法.分享给大家供大家参考,具体如下: 今天闲来没事,写了一个页面的分页工具类,具有很好的兼容性与实用性哦. 不管怎么样,先来瞧一瞧: package com.bw.utils; /** * 分页工具类 * * @author H.ros * */ public class PageUtils2 { // 当前页(从页面获取的当前页码,未计算) private int currentPage; // 前一页 private int prevPage; //

  • jQuery从零开始做一个分页组件功能示例

    本文实例讲述了jQuery从零开始做一个分页组件功能.分享给大家供大家参考,具体如下: 开始一个组件,毫无目的的写代码是一个不好的习惯,要经历 分析 => 抽象 => 实现 => 应用 四个阶段. 组件DEMO地址:https://github.com/CaptainLiao/zujian/tree/master/pagination 分析需求 当前页码显示前后三页,以及在两端显示上一页.下一页 未显示的地方用 '...'代替 举个栗子: 假设总共有30页 当前为第一页:1 2 3 4

随机推荐