实习笔记 —— SSM三个框架的整合 V (分页功能)
系列文章目录
实习笔记 —— 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"></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"></i> </a></c:otherwise></c:choose></div></nav></c:if>
③引用分页模板:
<%@ include file="../page.jsp" %>
实习笔记 —— SSM三个框架的整合 V (分页功能)相关推荐
- 实习笔记 —— SSM三个框架的整合 III (对后台管理页面进行编写)
系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记 -- AOP开发II(AOP中Advice的类型) ...
- 实习笔记 —— SSM三个框架的整合 VIII (添加用户)
系列文章目录 实习笔记 -- Spring基础 实习笔记 -- IOC反转控制(xml配置文件 + 注解) 实习笔记 -- AOP开发I 实习笔记 -- AOP开发II(AOP中Advice的类型) ...
- Java Web 实习笔记(三)
Java web实习笔记目录导航 1. Java Web 实习笔记(一) 2.Java Web 实习笔记(二) 3.Java Web 实习笔记(三) 4.Java Web 实习笔记(四) 一.Use ...
- 大厂实习-实习笔记(三)
大厂实习-实习笔记(三) 切分数据列表,多次插库 List<List> demo = Lists.partition(Lista, 1000); synchronized是Java中的关键 ...
- ROS中阶笔记(三):机器人仿真—ArbotiX+rviz功能仿真
ROS中阶笔记(三):机器人仿真-ArbotiX+rviz功能仿真 文章目录 01 机器人URDF模型优化-xacro模型文件 1.1 xacro模型文件 1.2 xacro使用方法 1.3 模型显示 ...
- 【OS学习笔记】三十三 保护模式九:分页机制对应的汇编代码之---用户程序代码
本片文章是以下两篇文章: [OS学习笔记]三十 保护模式九:段页式内存管理机制概述 [OS学习笔记]三十一 保护模式九:页目录.页表和页三者的关系详解 对应的用户程序汇编代码. ;代码清单16-2;文 ...
- SSH、SSM三种框架及表示层、业务层和持久层的理解
Struts(表示层)+Spring(业务层)+Hibernate(持久层) SSH:Struts(表示层)+Spring(业务层)+Hibernate(持久层) Struts:Struts是一个表示 ...
- SSM三个框架的优缺点。
SSM框架:spring+springmvc+mybatis框架集合: 一.mybatis的优缺点: 优点:a.sql写在xml文件中,便于统一管理和优化,解除sql和程序代码的耦合. b.提供映射标 ...
- Java Web 实习笔记(一)
Java web实习笔记目录导航 1. Java Web 实习笔记(一) 2.Java Web 实习笔记(二) 3.Java Web 实习笔记(三) 4.Java Web 实习笔记(四) 一.WEB ...
最新文章
- python设计选择题代码_《Python程序设计》试题库
- entity framework .core常用技巧
- CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用)
- Bootstrap4+MySQL前后端综合实训-Day08-AM【多表查询sql语句、关联数据的假删除、自动增长主键的获取、栏目管理“数据编辑”按钮的实现】
- si4438-IAR不能接收和发送的问题
- 解决@vue/cli 创建项目是安装chromedriver时失败的问题
- es集群节点数和分片数关系_ES数据插入和查询流程是怎么样的?
- linux 文件读写锁,linux下的简单文件读写锁的操作
- 年薪50W测试大牛,分享测试开发基础知识
- 哈夫曼编码(Huffman coding)的那些事,(编码技术介绍和程序实现)
- CSS z-index 属性 控制div上下层次
- Vray渲染器和Corona渲染哪个更好用?
- backup exec linux卸载,Symantec Backup Exec 2012 Agent for Linux 卸载
- iOS之解决崩溃Collection was mutated while being enumerated.
- 怎么把计算机管理的磁盘找出来,电脑分区显示不出来怎么办
- 计算机复制方法有,电脑复制粘贴怎么用(6种电脑复制粘贴方法)
- 对话系统的设计艺术(完结)
- Amazon Aurora Serverless v2 正式发布:瞬时扩展应对高要求的工作负载
- 一维矩阵和二维矩阵的前缀和
- JavaScript两个练习
热门文章
- 实战sql注入绕过安全狗
- 计算机网络技术无线自组网,什么是自组网通信
- [转]依赖注入(IOC)的详细讲解,附带实例和测试结果(大师兄亲测)
- (干货 | 好文)让你效率提高10倍的23个顶级神器推荐,拿走不谢!
- Jackson科普:为基于抗体的研究选择荧光团
- EdgeRouter ER-X 定时自动重启设置
- 从字符串中取出数字,并计算数字之和
- python图像识别系统_Python图像处理之图片文字识别功能(OCR)
- 数据聚合 错误的请求KEY 排除KEY失效
- HDU 5418 Victor and World 允许多次经过的TSP