简单增加分页功能

一、分页实体类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 页 &lt; / f o n t &gt; &lt; a h r e f = &quot; f i n d U s e r P a g e ? p a g e N o w = 1 &quot; &gt; 首 页 &lt; / a &gt; &lt; c : c h o o s e &gt; &lt; c : w h e n t e s t = &quot; {page.pageNow} 页&lt;/font&gt; &lt;a href=&quot;findUserPage?pageNow=1&quot;&gt;首页&lt;/a&gt; &lt;c:choose&gt; &lt;c:when test=&quot; 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 &lt; = 0 &quot; &gt; &lt; a h r e f = &quot; f i n d U s e r P a g e ? p a g e N o w = 1 &quot; &gt; 上 一 页 &lt; / a &gt; &lt; / c : w h e n &gt; &lt; / c : c h o o s e &gt; &lt; c : c h o o s e &gt; &lt; c : w h e n t e s t = &quot; {page.pageNow - 1 &lt;= 0}&quot;&gt; &lt;a href=&quot;findUserPage?pageNow=1&quot;&gt;上一页&lt;/a&gt; &lt;/c:when&gt; &lt;/c:choose&gt; &lt;c:choose&gt; &lt;c:when test=&quot; page.pageNow1<=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 &lt; p a g e . t o t a l P a g e C o u n t &quot; &gt; &lt; a h r e f = &quot; f i n d U s e r P a g e ? p a g e N o w = {page.pageNow + 1 &lt; page.totalPageCount}&quot;&gt; &lt;a href=&quot;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 &gt; = p a g e . t o t a l P a g e C o u n t &quot; &gt; &lt; a h r e f = &quot; f i n d U s e r P a g e ? p a g e N o w = {page.pageNow + 1 &gt;= page.totalPageCount}&quot;&gt; &lt;a href=&quot;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 &quot; &gt; &lt; a h r e f = &quot; f i n d U s e r P a g e ? p a g e N o w = {page.totalPageCount==0}&quot;&gt; &lt;a href=&quot;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
可用,本地测了上传的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值