若依框架---分页功能
继前几天我们学习若依管理系统中的代码生成工具,我们发现若依系统中还要很多值得学习的地方。今天我们来学习若依管理系统中的分页工具。
若依管理系统是前后端分离的(准确的说,若依有前后端分离版本)。
前端
若依前端的分页没有什么好说的,请求时分为pageNum
与pageSize
,使用前端分页组件Pagination
(这个组件我们之前在花裤衩的vue-element-admin中也遇到过),代码如下所示:
-
<!-- 分页组件-->
-
<pagination
-
:total="total"
-
:page.sync="queryParams.pageNum"
-
:limit.sync="queryParams.pageSize"
-
@pagination="fetchData"
-
/>
-
-
query: {
-
keyword: undefined,
-
// otherquery.....
-
pageNum: 1,
-
pageSize: 10
-
},
-
result: { // 请求结果
-
total: 0,
-
rows: []
-
}
-
-
// 后台方法,传入参数 获取结果
-
api(this.queryParams).then(response => {
-
this.result = response;
-
}
-
);
后端分页
后端的分页很有意思,我们先来看看后端接口中的分页代码。
我们抓取若依前端:系统管理->日志管理->操作日志接口,经过浏览器F12调试,我们可以发现其接口地址为:
/monitor/operlog/list?pageNum=1&pageSize=10
我们在后台查找对应接口发现其位于
com.ruoyi.web.controller.monitor.SysOperlogController
下的list
方法。方法代码如下所示:
-
-
-
public TableDataInfo list(SysOperLog operLog)
-
{
-
startPage();
-
List<SysOperLog> list = operLogService.selectOperLogList(operLog);
-
return getDataTable(list);
-
}
奇怪的是,我们并没有发现分页参数的获取与解析,那么后端到底是如何实现分页的呢?
这个接口有三个特点,
一是返回值类型为
TableDataInfo
二是接口第一行代码
startPage()
三是接口最后一句:
getDataTable(list)
。
首先,我们先来看看 TableDataInfo
的数据结构。
-
/**
-
* 表格分页数据对象
-
*
-
* @author ruoyi
-
*/
-
public class TableDataInfo implements Serializable
-
{
-
private static final long serialVersionUID = 1L;
-
-
/** 总记录数 */
-
private long total;
-
-
/** 列表数据 */
-
private List<?> rows;
-
-
/** 消息状态码 */
-
private int code;
-
-
/** 消息内容 */
-
private String msg;
-
-
// 剩余的构造器与setter,getter方法不贴了
-
-
}
我们可以看到,数据的类型与前端是匹配的,那么这个数据又是如何在接口中构造的呢?
关键代码
startPage()
时发生了什么?接口最后一句genDataTable(list)
又是如何将一个list转换为TableDataInfo
的呢?
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhieajak
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
excel图片置于文字下方的方法
PHP中文网 06-27 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信提示登录环境异常是什么意思原因
PHP中文网 04-09 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
微信人名旁边有个图标有什么用
PHP中文网 03-11