页面分页好像挺烦的,涉及到分页模型的抽取,在此做个记录,简单的分页实现
页面分页就是在前端分页显示数据库的数据,基本思路就是将分页需要显示的几个要素放到分页模型里面,然后在前端显示
步骤如下:
- 分页取数据的SQL语句
//从2开始,选五个数据,即3,4,5,6,7
select * from student limit 2 , 5
//偏离2,选五个数据,也是3,4,5,6,7
select * from student limit 5 offset 2
- 分页模型的抽取 pageBean
因为上面的sql语句只能在数据库里面获取到固定的信息(比如学生信息,商品信息),我们还需要得到,当前页面、总页面、每页显示条数、总条数,如下所示,简单一点共五项,所以要抽取一个页面模型存放这些数据(然后传到前端去)
pageBean的抽取如下:
package cn.nupt.domain;
import java.util.List;
public class PageBean<T> {
private int currentPage; //当前页
private int totalPage; //总页数
private int pageSize; //每页的记录数
private int totalSize; //总条数
private List<T> list;//当前页的学生集合
}
Servlet实现:
package cn.nupt.pageServlet;
import java.io.IOException;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.nupt.domain.PageBean;
import cn.nupt.domain.Service;
import cn.nupt.domain.ServiceImpl;
import cn.nupt.domain.Student;
/**
* Servlet implementation class PageServlet
*/
@WebServlet("/PageServlet")
public class PageServlet extends HttpServlet {
protected