站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题jsp分页控制的技巧,望各老大告知(附院代码)

jsp分页控制的技巧,望各老大告知(附院代码)

摘要: jsp分页控制的技巧,望各老大告知(附院代码)


operateDB为一个后台数据库处理类,这里以javaBean的形式出现
本程序的数据库中的数据共计有22条,每页9条数据,共分三页显示,1 2 3为页数,我现在的问题是,不管是不是当前页,其上面老是又连接,我得意思是如果1是当前页,那么1上没有连接,2 3上有连接,如果2是当前页,那么1 3三有连接,2上没有连接,这样应当如何做呢
-------------------------------------------------
<%
//需要显示的总的页数
int page_count=0;
//总记录数目
int record_count=0;
//每页的记录数目
int page_record=9;
//当前页
int current_page=0;
//获取当前页
String just=request.getParameter("current_page");
if(just==null){
current_page=1;
} else {
current_page=Integer.parseInt(just);
}
//定义InitialContext,获得记录总数目
InitialContext ctx=new InitialContext();
operateDB.getConn(ctx);
ResultSet rs=operateDB.getResultSet("select count(*) from sys_userControl");
while(rs.next()){
record_count=rs.getInt(1);
}

//计算总的页数
page_count=(record_count+page_record-1)/page_record;
//定义分页查询的sql语句
String sql="select top "+page_record+" user_id,username from sys_userControl where user_id not in(select top "+((current_page-1)*page_record)+" user_id from sys_userControl order by user_id ASC) order by user_id ASC";
out.print(sql);
rs=operateDB.getResultSet(sql);
out.print("<table border=1 width=400><tr><td>编号</td><td>用户名</td><td>察看详情</td><td>修改</td><td>删除</td></tr>");
while(rs.next()){
int user_id=rs.getInt(1);
String username=rs.getString(2);
out.print("<tr height=20><td>"+user_id+"</td><td>"+username+"</td><td></td><td></td><td></td></tr>");
}
out.print("<tr><td colspan=5 height=20 align=right>");
for(int i=1;i<=page_count;i++){
out.print(""+i+"");
out.print("&nbsp;");
}
out.print("</td></tr></table>");
operateDB.closeResource();



%>


<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="java.util.*"%>

<%request.setCharacterEncoding("gb2312");%>
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<head>

歌手列表
<script language=javascript1.2 src="../../Administrator/mp3/mp3.js"></script>