一、分页实体类Page.java:
package com.ssm.pojo;
import java.io.Serializable;
public class Page implements Serializable {
private static final long serialVersionUID = 1L;
private int pageNow = 1; //当前也是
private int pageSize = 2; //每页显示的数量
private int totalCount; //总记录数
private int totalPageCount; //总页数
private int startPos; //开始位置,从0开始
private boolean hasFrist; //是否有首页
private boolean hasPre; //是否有前一页
private boolean hasNext; //是否有后一页
private boolean hasLast; //是否有尾页
/**
* 通过构造函数,传入总记录数和当前页
*
* @param pageNow
* @param totalCount
*/
public Page(int pageNow, int totalCount) {
super();
this.pageNow = pageNow;
this.totalCount = totalCount;
}
//获取总页数
public int getTotalPageCount() {
totalPageCount = getTotalCount() / getPageSize();
return (totalCount / pageSize == 0) ? totalPageCount : totalPageCount + 1;
}
public void setTotalPageCount(int totalPageCount) {
this.totalPageCount = totalPageCount;
}
public int getPageNow() {
return pageNow;
}
public void setPageNow(int pageNow) {
this.pageNow = pageNow;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
//取得选择记录的初始位置
public int getStartPos() {
return (pageNow - 1) * pageSize;
}
public void setStartPos(int startPos) {
this.startPos = startPos;
}
//判断是否有第一页
public boolean isHasFrist() {
return (pageNow == 1) ? false : true;
}
public void setHasFrist(boolean hasFrist) {
this.hasFrist = hasFrist;
}
//如果有首页就有前一页
public boolean isHasPre() {
return isHasFrist() ? true : false;
}
public void setHasPre(boolean hasPre) {
this.hasPre = hasPre;
}
//如果有尾页就有下一页
public boolean isHasNext() {
return isHasNext() ? true : false;
}
public void setHasNext(boolean hasNext) {
this.hasNext = hasNext;
}
//判断是否有尾页
public boolean isHasLast() {
return (pageNow == getTotalCount()) ? false : true;
}
public void setHasLast(boolean hasLast) {
this.hasLast = hasLast;
}
}
二、controller类增加方法:
@RequestMapping(“findUserPage”)
private String findUserPage(Model model, HttpServletRequest request) {
//获取当前页数
String pageNow = request.getParameter(“pageNow”);
//获取总页数
int totalCount = userServiceImpl.selectUserCount();
Page page = null;
List list = new ArrayList();
if (pageNow != null) {
page = new Page(Integer.parseInt(pageNow), totalCount);
list = this.userServiceImpl.selectPage(page.getStartPos(), page.getPageSize());
} else {
page = new Page(1, totalCount);
list = this.userServiceImpl.selectPage(page.getStartPos(), page.getPageSize());
}
model.addAttribute(“users”, list);
model.addAttribute(“page”, page);
return “showUser”;
}
三、显示页面增加分页标签:
共 ${page.totalPageCount} 页 第
p a g e . p a g e N o w 页 < / f o n t > < a h r e f = " f i n d U s e r P a g e ? p a g e N o w = 1 " > 首 页 < / a > < c : c h o o s e > < c : w h e n t e s t = " {page.pageNow} 页</font> <a href="findUserPage?pageNow=1">首页</a> <c:choose> <c:when test=" page.pageNow页</font><ahref="findUserPage?pageNow=1">首页</a><c:choose><c:whentest="{page.pageNow - 1 > 0}">
上一页
</c:when>
<c:when test=" p a g e . p a g e N o w − 1 < = 0 " > < a h r e f = " f i n d U s e r P a g e ? p a g e N o w = 1 " > 上 一 页 < / a > < / c : w h e n > < / c : c h o o s e > < c : c h o o s e > < c : w h e n t e s t = " {page.pageNow - 1 <= 0}"> <a href="findUserPage?pageNow=1">上一页</a> </c:when> </c:choose> <c:choose> <c:when test=" page.pageNow−1<=0"><ahref="findUserPage?pageNow=1">上一页</a></c:when></c:choose><c:choose><c:whentest="{page.totalPageCount==0}">
下一页
</c:when>
<c:when test=" p a g e . p a g e N o w + 1 < p a g e . t o t a l P a g e C o u n t " > < a h r e f = " f i n d U s e r P a g e ? p a g e N o w = {page.pageNow + 1 < page.totalPageCount}"> <a href="findUserPage?pageNow= page.pageNow+1<page.totalPageCount"><ahref="findUserPage?pageNow={page.pageNow + 1}">下一页
</c:when>
<c:when test=" p a g e . p a g e N o w + 1 > = p a g e . t o t a l P a g e C o u n t " > < a h r e f = " f i n d U s e r P a g e ? p a g e N o w = {page.pageNow + 1 >= page.totalPageCount}"> <a href="findUserPage?pageNow= page.pageNow+1>=page.totalPageCount"><ahref="findUserPage?pageNow={page.totalPageCount}">下一页
</c:when>
</c:choose>
<c:choose>
<c:when test=" p a g e . t o t a l P a g e C o u n t = = 0 " > < a h r e f = " f i n d U s e r P a g e ? p a g e N o w = {page.totalPageCount==0}"> <a href="findUserPage?pageNow= page.totalPageCount==0"><ahref="findUserPage?pageNow={page.pageNow - 1}">尾页
</c:when>
<c:otherwise>
尾页
</c:otherwise>
</c:choose>
具体项目地址:https://download.csdn.net/my/uploads
可用,本地测了上传的