系列文章目录

实习笔记 —— Spring基础
实习笔记 —— IOC反转控制(xml配置文件 + 注解)
实习笔记 —— AOP开发I
实习笔记 —— AOP开发II(AOP中Advice的类型)
实习笔记 —— MyBatis I (MyBatis基础)
实习笔记 —— MyBatis II (MyBatis基本数据库操作)
实习笔记 —— MyBatis III(输入/输出映射)
实习笔记 —— MyBatis IV(动态SQL)
实习笔记 —— MyBatis V(多表查询)
实习笔记 —— Git I(基础指令)
实习笔记 —— Git II(远程提交)
实习笔记 —— Maven
实习笔记 —— springMVC I
实习笔记 —— springMVC部分II
实习笔记 —— SSM三个框架的整合 I (简单登录功能)
实习笔记 —— SSM三个框架的整合 II (根据数据库账号密码进行登录)
实习笔记 —— SSM三个框架的整合 III (对后台管理页面进行编写)
实习笔记 —— SSM三个框架的整合 IV


文章目录

  • 系列文章目录
  • 一、分页技术的实现
  • 总结
    • 1.分页的总体流程:
      • 后端
      • 前端

一、分页技术的实现

1.在pom中添加依赖:

<!-- 分页支持 -->
<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>4.2.1</version>
</dependency>

2.在/ssm-blog/src/main/resources/mybatis/mybatis-config.xml进行配置:


3.修改/ssm-blog/src/main/java/com/controller/ArticleController.java:


在数据库中的实现:

SELECT * FROM article ORDER BY article_id DESC LIMIT 0, 5;

SELECT * FROM article ORDER BY article_id DESC LIMIT 5, 5;

SELECT * FROM article ORDER BY article_id DESC LIMIT 10, 5;


4.接口:/ssm-blog/src/main/java/com/service/ArticleService.java


5.接口实现类:/ssm-blog/src/main/java/com/service/impl/ArticleServiceImpl.java:


6.前端页面:/ssm-blog/src/main/webapp/jsp/Article/article-list.jsp


7.新建/ssm-blog/src/main/webapp/jsp/page.jsp:

使用老师给的代码


8.修改/ssm-blog/src/main/webapp/jsp/Article/article-list.jsp:

foreach循环也有改动。


9.创建实体类:
/ssm-blog/src/main/java/com/entity/Category.java


10.创建Mapper接口:
/ssm-blog/src/main/java/com/mapper/CategoryMapper.java


11.接口对应的映射配置文件:
/ssm-blog/src/main/java/com/mapper/CategoryMapper.xml


12.完善/ssm-blog/src/main/java/com/service/impl/ArticleServiceImpl.java:


成功!


点击箭头或页码可以换页。

总结

今天的内容比较乱,在分页技术的基础上还混杂着对于文章 Category (所属类别)的获取及展示。

1.分页的总体流程:

后端

①修改/ssm-blog/src/main/java/com/controller/ArticleController.java:

②在/ssm-blog/src/main/java/com/service/ArticleService.java中添加获取文章列表的方法 getPageArticleList,并用PageInfo进行包装:

③在/ssm-blog/src/main/java/com/service/impl/ArticleServiceImpl.java编写上一步所创建的方法的具体实现:

前端

①将获取到的页面推到前端:

修改/ssm-blog/src/main/webapp/jsp/Article/article-list.jsp

②修改 “全部文章” 页面显示文章的模板:

新建模板页 /ssm-blog/src/main/webapp/jsp/page.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><c:if test="${pageInfo.pages > 1}"><nav class="navigation pagination" role="navigation"><div class="nav-links"><c:choose><c:when test="${pageInfo.pages <= 3 }"><c:set var="begin" value="1"/><c:set var="end" value="${pageInfo.pages }"/></c:when><c:otherwise><c:set var="begin" value="${pageInfo.pageNum-1 }"/><c:set var="end" value="${pageInfo.pageNum + 2}"/><c:if test="${begin < 2 }"><c:set var="begin" value="1"/><c:set var="end" value="3"/></c:if><c:if test="${end > pageInfo.pages }"><c:set var="begin" value="${pageInfo.pages-2 }"/><c:set var="end" value="${pageInfo.pages }"/></c:if></c:otherwise></c:choose><%--上一页 --%><c:choose><c:when test="${pageInfo.pageNum eq 1 }"><%--当前页为第一页,隐藏上一页按钮--%></c:when><c:otherwise><a class="page-numbers" href="${pageUrlPrefix}=${pageInfo.pageNum-1}"> <i class="layui-icon">&#xe603;</i></a></c:otherwise></c:choose><%--显示第一页的页码--%><c:if test="${begin >= 2 }"><a class="page-numbers" href="${pageUrlPrefix}=1">1</a></c:if><%--显示点点点--%><c:if test="${begin  > 2 }"><span class="page-numbers dots">…</span></c:if><%--打印 页码--%><c:forEach begin="${begin }" end="${end }" var="i"><c:choose><c:when test="${i eq pageInfo.pageNum }"><a class="page-numbers current">${i}</a></c:when><c:otherwise><a class="page-numbers" href="${pageUrlPrefix}=${i}">${i}</a></c:otherwise></c:choose></c:forEach><%-- 显示点点点 --%><c:if test="${end < pageInfo.pages-1 }"><span class="page-numbers dots">…</span></c:if><%-- 显示最后一页的数字 --%><c:if test="${end < pageInfo.pages }"><a href="${pageUrlPrefix}=${pageInfo.pages}">   ${pageInfo.pages}</a></c:if><%--下一页 --%><c:choose><c:when test="${pageInfo.pageNum eq pageInfo.pages }"><%--到了尾页隐藏,下一页按钮--%></c:when><c:otherwise><a class="page-numbers"  href="${pageUrlPrefix}=${pageInfo.pageNum+1}"> <i class="layui-icon">&#xe602;</i>  </a></c:otherwise></c:choose></div></nav></c:if>

③引用分页模板:

<%@ include file="../page.jsp" %>

实习笔记 —— SSM三个框架的整合 V (分页功能)相关推荐

  1. 实习笔记 —— SSM三个框架的整合 III (对后台管理页面进行编写)

    系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记 -- AOP开发II(AOP中Advice的类型) ...

  2. 实习笔记 —— SSM三个框架的整合 VIII (添加用户)

    系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记 -- AOP开发II(AOP中Advice的类型) ...

  3. Java Web 实习笔记(三)

    Java web实习笔记目录导航 1. Java Web 实习笔记(一) 2.Java  Web 实习笔记(二) 3.Java Web 实习笔记(三) 4.Java Web 实习笔记(四) 一.Use ...

  4. 大厂实习-实习笔记(三)

    大厂实习-实习笔记(三) 切分数据列表,多次插库 List<List> demo = Lists.partition(Lista, 1000); synchronized是Java中的关键 ...

  5. ROS中阶笔记(三):机器人仿真—ArbotiX+rviz功能仿真

    ROS中阶笔记(三):机器人仿真-ArbotiX+rviz功能仿真 文章目录 01 机器人URDF模型优化-xacro模型文件 1.1 xacro模型文件 1.2 xacro使用方法 1.3 模型显示 ...

  6. 【OS学习笔记】三十三 保护模式九:分页机制对应的汇编代码之---用户程序代码

    本片文章是以下两篇文章: [OS学习笔记]三十 保护模式九:段页式内存管理机制概述 [OS学习笔记]三十一 保护模式九:页目录.页表和页三者的关系详解 对应的用户程序汇编代码. ;代码清单16-2;文 ...

  7. SSH、SSM三种框架及表示层、业务层和持久层的理解

    Struts(表示层)+Spring(业务层)+Hibernate(持久层) SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层) Struts:Struts是一个表示 ...

  8. SSM三个框架的优缺点。

    SSM框架:spring+springmvc+mybatis框架集合: 一.mybatis的优缺点: 优点:a.sql写在xml文件中,便于统一管理和优化,解除sql和程序代码的耦合. b.提供映射标 ...

  9. Java Web 实习笔记(一)

    Java web实习笔记目录导航 1. Java Web 实习笔记(一) 2.Java  Web 实习笔记(二) 3.Java Web 实习笔记(三) 4.Java Web 实习笔记(四) 一.WEB ...

最新文章

  1. python设计选择题代码_《Python程序设计》试题库
  2. entity framework .core常用技巧
  3. CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用)
  4. Bootstrap4+MySQL前后端综合实训-Day08-AM【多表查询sql语句、关联数据的假删除、自动增长主键的获取、栏目管理“数据编辑”按钮的实现】
  5. si4438-IAR不能接收和发送的问题
  6. 解决@vue/cli 创建项目是安装chromedriver时失败的问题
  7. es集群节点数和分片数关系_ES数据插入和查询流程是怎么样的?
  8. linux 文件读写锁,linux下的简单文件读写锁的操作
  9. 年薪50W测试大牛,分享测试开发基础知识
  10. 哈夫曼编码(Huffman coding)的那些事,(编码技术介绍和程序实现)
  11. CSS z-index 属性 控制div上下层次
  12. Vray渲染器和Corona渲染哪个更好用?
  13. backup exec linux卸载,Symantec Backup Exec 2012 Agent for Linux 卸载
  14. iOS之解决崩溃Collection was mutated while being enumerated.
  15. 怎么把计算机管理的磁盘找出来,电脑分区显示不出来怎么办
  16. 计算机复制方法有,电脑复制粘贴怎么用(6种电脑复制粘贴方法)
  17. 对话系统的设计艺术(完结)
  18. Amazon Aurora Serverless v2 正式发布:瞬时扩展应对高要求的工作负载
  19. 一维矩阵和二维矩阵的前缀和
  20. JavaScript两个练习

热门文章

  1. 实战sql注入绕过安全狗
  2. 计算机网络技术无线自组网,什么是自组网通信
  3. [转]依赖注入(IOC)的详细讲解,附带实例和测试结果(大师兄亲测)
  4. (干货 | 好文)让你效率提高10倍的23个顶级神器推荐,拿走不谢!
  5. Jackson科普:为基于抗体的研究选择荧光团
  6. EdgeRouter ER-X 定时自动重启设置
  7. 从字符串中取出数字,并计算数字之和
  8. python图像识别系统_Python图像处理之图片文字识别功能(OCR)
  9. 数据聚合 错误的请求KEY 排除KEY失效
  10. HDU 5418 Victor and World 允许多次经过的TSP