一个用JSP实现的分页的类及调用方法

王朝java/jsp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航