思路,假设数据库里的某张表的数据的条数是185条,我要实现的是一页显示10条,也就是说,展示完所有的数据需要19页,每一页的号是,1-10;11-20,22-31;

第一页是a,a+9,第二页就是(a+9)+1,((a+9)+1)+9....一直到(b+9)>185;package cn.servlet;

import java.io.IOException;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.ArrayList;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.gj.Person_info;

import cn.lf.JdbcUtils;

public class Personnel_definition extends HttpServlet {

/**

*

*/

private static final long serialVersionUID = 1L;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//查询数据库里面数据的总条数

//1.数据库里面数据的总条数;

int countpage=0;

String sql0="select * from person_info";

ResultSet rs0=JdbcUtils.select(sql0, null);

try {

while(rs0.next()){

countpage++;

}

} catch (SQLException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

//2.如果一页是10条数据的话,那么就是all页

int all=(countpage/10)+1;

//这个是从前台获取的数据,是上一页还是下一页

int cpage=0;

//这个是上一页还是下一页的数据

String currentpage=request.getParameter("currentpage");

if(currentpage==null||currentpage==""){

cpage=1;

}

else{

cpage=Integer.parseInt(currentpage);

}

//3.开始查询的数据

int start=10*(cpage)-9;

//4.结束查询的数据

int end=10*cpage;

//这个代码是查询数据库里面的person_info,然后循环遍历显示在页面上

String sql="select * from person_info limit ?,?";

//如果到了最后一页的时候,

if(cpage*10>countpage){

end=countpage;

cpage=10001;

}

int sz[]={start,end};

ResultSet rs=JdbcUtils.selectint(sql, sz);

ArrayList list=new ArrayList();

try {

while(rs.next()){

//把获取的值放在pi里面,再把pi放在集合里面

Person_info pi=new Person_info(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6));

list.add(pi);

}

request.setAttribute("list", list);

if(cpage==10001){

request.setAttribute("cpage", "尾页");

}else{

}

request.setAttribute("cpage", cpage);

request.setAttribute("all", all);

request.getRequestDispatcher("Personnel_definition.jsp").forward(request, response);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

更多推荐

java实现分页序号问题_java 分页查询的实现