您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> jsp编程 >> 正文

高效简单的jsp分页代码

作者:佚名    责任编辑:admin    更新时间:    2015-10-15 09:41:19

<%@ page import="java.sql.*,java.io.*,java.util.*" %>
<%@ page language="java" pageEncoding="Big5" %>
<%! String au_id,au_lname,au_fname,phone,address,city,state;%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>ArticleList</TITLE>
<link rel="stylesheet" href="style.css">
</head>
<body bgcolor="#FFFFFF"> <table width="760" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td>
<table width="750" border="0" cellspacing="2" cellpadding="2" align="center">
<tr align="center">
<td>&nbsp;</td>
</tr>
<tr>
<td>
<table width="740" border="0" cellspacing="1" cellpadding="1" align="center">
<tr align="center" bgcolor="#CCCCCC">
<td><b>标题</b></td>
<td><b>作者</b></td>
<td><b>类型</b></td>
<td><b>点击</b></td>
<td><b>加入时间</b></td>
</tr>
<%
int i;
int ipage=5; //分页单位
int allpage; //总页数
int pages; //接受的页码变数
int cpage=1; //当前页
int spage; //开始页
int allCol=0;
Vector v=null; //资料库连接声明
Connection conn=null;
 java.lang.String sql,pagesql;
 java.sql.ResultSet rs,pagers;
 Statement statement=null;
 String kmsdb="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=DBName";
 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    conn = DriverManager.getConnection(kmsdb, "user", "pwd");
 
 pagesql = "SELECT COUNT(*) FROM  Authors"; //取总文章数
statement = conn.createStatement();
pagers = statement.executeQuery(pagesql);
 while(pagers.next())
  {
  allCol = pagers.getInt(1);
  System.out.println(allCol);   }
 
//获得总页面数
allpage = (int)Math.ceil((allCol + ipage-1) / ipage);
//判断参数pages是否空
if (request.getParameter("pages")==null) {
pages=1;
} else {
pages = new Integer(request.getParameter("pages")).intValue();
System.out.println(pages);
}
//判断当前页
if(pages > allpage || pages == 0)
{cpage = 1;}
else
{
cpage = pages;
}
//判断起始页
sql = "select Top "+ipage+" au_id,au_lname,au_fname,address,phone from authors where au_id not in (select top "+(cpage-1)*ipage+" au_id from authors order by au_id desc)order by au_id desc";
rs = statement.executeQuery(sql);
while (rs.next())
{
 au_id=rs.getString("au_id");
 au_lname=rs.getString("au_lname");
 au_fname=rs.getString("au_fname");
 phone=rs.getString("phone");
 address=rs.getString("address"); %> 
 <td width="300"><%= au_id %></a></td>
 <td width="300"><%= au_lname %></a></td>
 <td width="300"><%= au_fname %></a></td>
 <td width="300"><%= phone %></a></td>
 <td width="300"><%= address %></a></td>
</tr>
<%    
}%>
<tr bgcolor="#CCCCCC">
<td colspan="5" align="right" valign="middle">共 <%= allCol %>条记录 共 <%= allpage %>页 <% if (cpage>1) { %><a href="fy.jsp?pages=<%= cpage-1 %>"><img src="http://www.webjx.com/htmldata/2005-03-09/images/prev.gif" border="0"></a><% } if (cpage<allpage) { %><a href="fy.jsp?pages=<%= cpage+1 %>"><img src="http://www.webjx.com/htmldata/2005-03-09/images/next.gif" border="0"></a><% } %> / <% for (i=1;i<=allpage;i++) { if (i != pages) {%><a href="fy.jsp?pages=<%= i %>"><%= i %></a>&nbsp;<% }} %></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>