分页数据渲染

简介: 分页数据渲染

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


相关文章
|
1月前
|
Web App开发 JSON 前端开发
Ajax实现动态及时刷新表格数据
Ajax实现动态及时刷新表格数据
37 1
|
1月前
|
前端开发 JavaScript
vue实现通用分页控件,支持前端分页、后端分页。
vue实现通用分页控件,支持前端分页、后端分页。
38 1
|
7月前
|
算法 JavaScript Java
通用分页【下】(将分页封装成标签)
调试()是指在软件开发过程中,通过识别、定位和解决程序错误或问题的过程。调试的目的是找出代码中的错误、异常或不正常的行为,并修复它们,以确保程序能够按照预期的方式运行。调试是一个重要的开发技巧,可以帮助开发人员理解程序的执行过程、找出错误的原因,并从中学习和改进。调试可以使用不同的工具和技术来辅助,例如打印输出、日志记录、调试器(debugger)等。调试是开发过程中不可或缺的一部分,可以帮助开发人员提高代码质量、加快解决问题的速度,并优化程序的性能和可靠性。
|
9月前
|
SQL Oracle 关系型数据库
什么是分页?如何使用分页?(一)
什么是分页?如何使用分页?
114 0
|
6月前
|
JavaScript 数据库 UED
Vue 的动态菜单表格数据展示以及分页查询实现
Vue 的动态菜单表格数据展示以及分页查询实现
73 0
|
9月前
veu3循环渲染分页
veu3循环渲染分页
50 0
|
9月前
Vue3手写分页在分页的基础上用到Pagination 分页组件
Vue3手写分页在分页的基础上用到Pagination 分页组件
52 0
|
9月前
|
SQL 存储 关系型数据库
什么是分页?如何使用分页?(二)
什么是分页?如何使用分页?
52 0
|
前端开发 JavaScript
【前端】vue3+elment plus实现table表格右侧滑动分页加载
vue3+elment plus实现table表格右侧滑动分页加载
428 0
【前端】vue3+elment plus实现table表格右侧滑动分页加载
|
算法 数据库 内存技术
【视频】自然框架之分页控件的使用方法(一) PostBack方式的一般分页方式
前言:分页控件的优点   1、 按需所取 —— 需要几条记录就从数据库里提取几条记录,不会多取。 2、 使用简单 —— 设置几个属性就可以实现分页的功能。 3、 多种分页算法 —— (即分页用的SQL语句)可以根据不同的需求灵活选择 4、 支持多种数据库 —— 用不同的分页算法对应不同的数据库。
1088 0