分页数据渲染

简介: 分页数据渲染

SearchResult属性增加

增加属性 private  List<Integer> pageNavs;

目的:产生分页效果,方便操作,navs记录了从1到总页数的暑假

不是第一页时显示上一页

<a class="page_a" th:attr="pn=${result.pageNum - 1}" href="/static/search/#"
   th:if="${result.pageNum>1}">
    < 上一页
</a>

th:attr="pn=${result.pageNum - 1}":将当前页码-1给pn赋值

th:if="${result.pageNum>1}":如果当前页面大于1才显示上一页

页数遍历切换

<a class="page_a"
   th:attr="pn=${navs},style=${navs == result.pageNum?'border: 0;color:#ee2222;background: #fff':''}"
   th:each="navs : ${result.pageNavs}">[[${nav}]]</a>
</a>

将各个页码遍历显示,并将当前页码绑定至属性pn

下一页数据拼接

<a class="page_a" th:attr="pn=${result.pageNum + 1}"
   th:if="${result.pageNum<result.totalPages}">
    下一页 >

不是最后一页时显示下一页

总共页码

  <span class="page_span2">
 <em>共<b>[[${result.totalPages}]]</b>页&nbsp;&nbsp;到第</em>
 <input type="number" value="1">
<em>页</em>
  <a class="page_submit">确定</a>
 </span>

拼接函数

    $(".page_a").click(function () {
        var pn = $(this).attr("pn");
        var href = location.href;
        if (href.indexOf("pageNum") != -1) {
            //替换pageNum
            location.href = replaceParamVal(href, "pageNum", pn);
        } else {
            location.href = location.href + "&pageNum=" + pn;
        }
        return false;
    })

替换函数

 function replaceParamVal(url, paramName, replaceVal,forceAdd) {
        var oUrl = url.toString();
        var nUrl;
        if (oUrl.indexOf(paramName) != -1) {
            if( forceAdd ) {
                if (oUrl.indexOf("?") != -1) {
                    nUrl = oUrl + "&" + paramName + "=" + replaceVal;
                } else {
                    nUrl = oUrl + "?" + paramName + "=" + replaceVal;
                }
            } else {
                var re = eval('/(' + paramName + '=)([^&]*)/gi');
                nUrl = oUrl.replace(re, paramName + '=' + replaceVal);
            }
        } else {
            if (oUrl.indexOf("?") != -1) {
                nUrl = oUrl + "&" + paramName + "=" + replaceVal;
            } else {
                nUrl = oUrl + "?" + paramName + "=" + replaceVal;
            }
        }
        return nUrl;
    };

最终效果


0a08ddcd5468450c845476579264e305.png


相关文章
|
6月前
|
Web App开发 JSON 前端开发
Ajax实现动态及时刷新表格数据
Ajax实现动态及时刷新表格数据
|
6月前
|
API
在使用懒加载时,更新页码并处理新加载的数据
实现懒加载时,通过定义变量`currentPage`保存页码(初始为1)。在`loadMoreData`函数中,根据页码和`pageSize`请求新数据。获取数据后,将新数据合并到`allData`,然后递增页码。此示例提供了一个基础框架,实际应用需按项目需求和API调整。
|
算法 JavaScript Java
通用分页【下】(将分页封装成标签)
调试()是指在软件开发过程中,通过识别、定位和解决程序错误或问题的过程。调试的目的是找出代码中的错误、异常或不正常的行为,并修复它们,以确保程序能够按照预期的方式运行。调试是一个重要的开发技巧,可以帮助开发人员理解程序的执行过程、找出错误的原因,并从中学习和改进。调试可以使用不同的工具和技术来辅助,例如打印输出、日志记录、调试器(debugger)等。调试是开发过程中不可或缺的一部分,可以帮助开发人员提高代码质量、加快解决问题的速度,并优化程序的性能和可靠性。
|
6月前
|
前端开发 JavaScript
vue实现通用分页控件,支持前端分页、后端分页。
vue实现通用分页控件,支持前端分页、后端分页。
88 1
|
6月前
|
JSON 开发框架 前端开发
利用bootstraptable展示数据,对数据进行排序分页等操作
利用bootstraptable展示数据,对数据进行排序分页等操作
|
JavaScript 数据库 UED
Vue 的动态菜单表格数据展示以及分页查询实现
Vue 的动态菜单表格数据展示以及分页查询实现
144 0
veu3循环渲染分页
veu3循环渲染分页
91 0
|
小程序 JavaScript 索引
【小程序】条件渲染与列表渲染
【小程序】条件渲染与列表渲染
125 0
【小程序】条件渲染与列表渲染
|
前端开发 JavaScript
【前端】vue3+elment plus实现table表格右侧滑动分页加载
vue3+elment plus实现table表格右侧滑动分页加载
990 0
【前端】vue3+elment plus实现table表格右侧滑动分页加载
|
前端开发 开发者 索引
轮播图-动态响应轮播图-动态渲染 |学习笔记
快速学习 轮播图-动态响应轮播图-动态渲染
轮播图-动态响应轮播图-动态渲染  |学习笔记