displaytag添加自定义跳转页数功能
来源:互联网 发布:cc域名注册哪里便宜 编辑:程序博客网 时间:2024/06/05 04:45
因为公司某个项目一直使用的是displaytag来做表格,需求需要,自定义跳转页面,然而displaytag似乎并没有这个功能,通过网上查找资料,感谢各位网友大神的资料指点,然后总结了一下:
在需要添加跳转功能的页面display:table中添加
其中{1}代表第一页,{2}代表上一页,{3}代表下一页,{4}代表最后一页
这里的paging.banner.full,paging.banner.first,paging.banner.last是display自带的,分别代表2到n-1页、第一页、最后一页,paging.banner.full,paging.banner.first的跳转标签中使用{4},即最大页码,paging.banner.last的跳转标签中使用{2}即最大页码的上一页。
这样做的目的是为了判断最大页,计算输入数字后,实际跳转的页,如果超过最大页,则默认跳转到最大页。
接下来需要用JavaScript些一个function,控制跳转事件
function gotoPage_displaytag(pageFlag) {//判断输入的内容,如果不是正整数则不跳转 var T = /^[1-9]\d*$/; var pageNum = $("#gotoPageNumber_displaytag").val(); if (!T.test(pageNum)) { return; } var url = null; if (pageFlag == 0) {//根据我们传进来的值,即paging.banner.full、paging.banner.first为0 url = $("#lastPageUrl_displaytag").val(); console.log(url); } else {//否则是paging.banner.last url = $("#prevPageUrl_displaytag").val(); console.log(url); }//查找url中的page=,因为displaytag中跳转使用的是page=?使用的时候查看一下链接就会发现//然后用输入的数字进行替换即可 var urlLastPart = url.substr(1, url.length); console.log(urlLastPart); var index = urlLastPart.indexOf("page="); urlLastPart = urlLastPart.substr(index, urlLastPart.length); index = urlLastPart.indexOf("&"); console.log(index); var totalPageNum = null; if (index < 0) { totalPageNum = urlLastPart.substr(5, urlLastPart.length); urlLastPart = ""; } else { urlLastPart = urlLastPart.substr(0, index); totalPageNum = urlLastPart.substr(5, urlLastPart.length); urlLastPart = urlLastPart.substr(index); } if (pageFlag == 1) { totalPageNum = parseInt(totalPageNum) + 1; } console.log(pageNum); console.log(totalPageNum); if (parseInt(pageNum) < parseInt(totalPageNum)) { if (pageFlag == 0) { url = url.replace("page="+totalPageNum,"page="+pageNum); }else{ url = url.replace("page="+(totalPageNum-1),"page="+pageNum); } } else {//当数字大于总页数时,跳转到最后一页 url = url; } console.log(url); window.location = url;}然后再css中加入相应的样式即可
#gotoPageNumber_displaytag {width: 30px;}.pagelinks a {color:#118ad2;cursor: pointer;}以上是单个页面添加的方法,
如果想统一修改displaytag的插件代码,就再classes中添加displaytag.properties配置文件
加入代码
paging.banner.full=<span class\="pagelinks"><a href\="{1}">\u9996\u9875</a> <a href\="{2}">\u4E0A\u4E00\u9875</a> {0} <a href\="{3}">\u4E0B\u4E00\u9875</a> <a href\="{4}">\u5C3E\u9875</a> \u7b2c<input id="gotoPageNumber_displaytag">\u9875 <a onclick="gotoPage_displaytag(0)">GO</a><input type="hidden" id="lastPageUrl_displaytag" value="{4}"/></span>paging.banner.first=<span class\="pagelinks">\u9996\u9875 \u4E0A\u4E00\u9875 {0} <a href\="{3}">\u4E0B\u4E00\u9875</a> <a href\="{4}">\u5C3E\u9875</a> \u7b2c<input id="gotoPageNumber_displaytag">\u9875 <a onclick="gotoPage_displaytag(0)">GO</a><input type="hidden" id="lastPageUrl_displaytag" value="{4}"/></span>paging.banner.last=<span class\="pagelinks"><a href\="{1}">\u9996\u9875</a> <a href\="{2}">\u4E0A\u4E00\u9875</a> {0} \u4E0B\u4E00\u9875 \u5C3E\u9875 \u7b2c<input id="gotoPageNumber_displaytag">\u9875 <a onclick="gotoPage_displaytag(1)">GO</a><input type="hidden" id="prevPageUrl_displaytag" value="{2}"/></span>想空格的话使用 即可
displaytag.properties中汉字存储的是Unicode码:
\u7b2c为第 \u9875为页
\u9996\u9875为首页
\u4E0A\u4E00\u9875为上一页
\u4E0B\u4E00\u9875为下一页
\u5C3E\u9875为尾页
不用纠结不知道某些字对应的Unicode码是多少,在properties文件中输入汉字就自动转化为Unicode码了
然后容易调用js和css即可。
- displaytag添加自定义跳转页数功能
- 根据总页数制作的分页按钮,有跳转功能以及多页数的时候中间按钮显示...功能
- DisplayTag自定义排序
- jsp实现分页(限定显示指定页数)和页面跳转功能
- Android 自定义切换卡功能,通过intent跳转到添加内容页面
- Word跳转到指定页数
- iOS ScrollView 计算页数跳转
- jquery.datatables添加页面跳转的功能
- displaytag
- displayTag
- Displaytag 1.1.1分页功能基本用法
- word中给章节添加总页数
- 给按钮添加跳转功能【类似a标签】
- 自定义cell里面添加button点击跳转别的界面
- 自定义cell里面添加button点击跳转别的界面
- Yii CGridView中分页取得当前的页数并跳转到对应页数
- android自定义View之自定义EditText(添加删除功能)
- Android自定义View之自定义EditText(添加删除功能)
- 技术学习
- 1、ReactNative详细的Windows系统环境下搭建
- 数据结构(一)顺序表2:顺序表的就地逆置和顺序表中删除元素值
- python 制作小蛇
- [LeetCode416]Partition Equal Subset Sum
- displaytag添加自定义跳转页数功能
- C/C++笔试必须熟悉掌握的头文件系列(七)——cctype/ctype.h
- C++笔记
- AOP源码解析(三)增强器的获取
- c语言学习总结之从关键字到循环结构
- python3报错解决办法:UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multib
- 嵌入式开发为什么选择C语言?
- Binary Tree_build & travserse(二叉树建立,遍历)
- (十二)java多线程之Exchanger