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

来源:互联网 发布:php判断日期大小 编辑:程序博客网 时间:2024/05/17 21:06
**************************************
*/
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> 

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