首先在之前定义的类UserBean相同包下新建一个类PageUtil如下:
package bean;
/**
* Created by socul on 2016/4/7.
*/
public class PageUtil {
private int pageSize;//每页显示的条数
private int recordCount;//总共的条数
private int currentPage;//当前页面
//构造方法
public PageUtil(int pageSize, int recordCount, int currentPage){
this.pageSize = pageSize;
this.recordCount = recordCount;
setCurrentPage(currentPage);
}
public PageUtil(int pageSize, int recordCount){
this(pageSize, recordCount, 1);
}
//总页数
public int getPageCount(){
int size = recordCount/pageSize;//总条数/每页显示的条数=总页数
int mod = recordCount % pageSize;//最后一页的条数
if(mod != 0)
size++;
return recordCount == 0 ? 1 : size;
}
//包含,起始索引为0
public int getFromIndex(){
return (currentPage-1) * pageSize;
}
//不包含
public int getToIndex(){
return Math.min(recordCount, currentPage * pageSize);
}
//得到当前页
public int getCurrentPage(){
return currentPage;
}
//设置当前页
public void setCurrentPage(int currentPage){
int validPage = currentPage <= 0 ? 1 : currentPage;
validPage = validPage > getPageCount() ? getPageCount() : validPage;
this.currentPage = validPage;
}
//得到每页显示的条数
public int getPageSize(){
return pageSize;
}
//设置每页显示的条数
public void setPageSize(int pageSize){
this.pageSize = pageSize;
}
//得到总共的条数
public int getRecordCount(){
return recordCount;
}
//设置总共的条数
public void setRecordCount(int recordCount){
this.recordCount = recordCount;
}
}
然后再写我们的jsp页面代码,新建userInfo.jsp,代码如下:
Created by IntelliJ IDEA.
User: socul
Date: 2016/3/28
Time: 22:52
To change this template use File | Settings | File Templates.
--%>
用户信息表table {
width: 600px;
}
table.gridtable {
font-family: verdana, arial, sans-serif;
font-size: 11px;
color: #333333;
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
}
table.gridtable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #dedede;
}
table.gridtable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
-----用户信息表-----
添加用户
ID | username | password | Option |
List userList = (List) request.getSession().getAttribute("userList");
String pageStr = request.getParameter("page");
int currentPage = 1;
if (pageStr != null)
currentPage = Integer.parseInt(pageStr);
PageUtil pUtil = new PageUtil(8, userList.size(), currentPage);
currentPage = pUtil.getCurrentPage();
%>
for (int i = pUtil.getFromIndex(); i
UserBean user = userList.get(i);
%>
">删除">修改
}%>
首页
">上页
">下页
">末页
记录总数条 当前页/总页数
每页显示条
function showMask() {
document.getElementById("addUserForm").style.display = "block";
}
function hideMask() {
document.getElementById("addUserForm").style.display = 'none';
}
function isDel() {
window.confirm("确认删除该记录?")
}
这样我们就可以引用PageUtil这个类实现完整的分页功能了,而且jsp、servlet、dao层,bean层也可以分开来写,使得代码浅显易懂,不再冗杂,并且实现了MVC设计规范。通过这篇博客希望可以帮助大家容易的实现分页功能和简单的数据库增删改查。