jquery pagination分页插件使用详解(后台struts2)


Posted in Javascript onJanuary 22, 2017

页面是用的纯css的效果,没有使用bootstrap的框架,不然自带的分页是挺好用的,就不用麻烦了这边使用了jquery pagination分页插件来实现这个功能的,这边后台用的是struts2的框架,ssh的,jquery返回json数据,然后循环拼接table输入到页面,这个分页插件使用起来感觉还是比较简单,代码编辑比较少,也有样式可以选择,但是那样要导入pagination.css在div中的class修改样式不导入的话就只有默认样式,这边样式也没有调节,不是很美观,功能实现了,干货:

效果图:

jquery pagination分页插件使用详解(后台struts2)

jsp:

<script src="<%=basePath %>bootstrap/js/jquery.pagination.js"></script> 
<div id="Pagination" class="pagination" text-align="right"><!-- 这里显示分页 --></div>

js:

var pageIndex = -1;  //页面索引初始值 
 var pageSize = 5;  //每页显示条数初始化,修改显示条数,修改这里即可 
 var pageCount = 0;  //每页显示条数初始化,修改显示条数,修改这里即可 
 InitTable(pageIndex); //Load事件,初始化表格数据,页面索引为0(第一页) 
  //分页,PageCount是总条目数,这是必选参数,其它参数都是可选 
  //翻页调用 
 function PageCallback(index, jq) { 
  InitTable(index); 
  } 
 
 //请求数据 
 function InitTable(pi) { 
  var sendpn = 0; 
  if(pi!=-1){ 
   sendpn = pi; 
  } 
  $.ajax({ 
   type: "POST", 
   dataType: "json", 
   url: 'findEquipmentInfo.action',  //提交到一般处理程序请求数据 
   data: {pageNo:sendpn,pageSize:pageSize},   //提交两个参数:pageIndex(页面索引),pageSize(显示条数) 
   success: function(data) { 
    var tabletr=''; 
    $(data.root).each(function(i,obj){ 
      tabletr=tabletr+"<tr><td><input type='checkbox' class='checkboxAll' value='"+obj.id+"'/></td><td>"+obj.deviceName+"</td>"+"<td>"+obj.deviceIP+"</td>"+"<td>"+obj.companyName+"</td>"+"<td>"+obj.deviceSN+"</td>"+"<td>"+obj.devicePN+"</td>"+"<td>"+obj.inTime+"</td>"+"<td>"+obj.warrantyTime+"</td>"+"</tr>"; 
    }); 
    $("#tablepos_tbody").html(tabletr); 
    pageCount = data.total; 
    if(pageIndex==-1){ 
     pageIndex=0; 
     $("#Pagination").pagination(pageCount, { 
      callback: PageCallback, //PageCallback() 为翻页调用次函数。 
      prev_text: "« 上一页", 
      next_text: "下一页 »", 
      items_per_page:pageSize, 
      num_edge_entries: 2,  //两侧首尾分页条目数 
      num_display_entries: 6, //连续分页主体部分分页条目数 
      current_page: pageIndex, //当前页索引 
     }); 
    } 
   } 
  }); 
 }

action:

private int rowCount=0; 
 private int pageNo=1; 
 private int pageSize=10; 
 private int pageCount=0; 
 private String result; 
  
public int getRowCount() { 
  return rowCount; 
 } 
 public void setRowCount(int rowCount) { 
  this.rowCount = rowCount; 
 } 
public int getPageNo() { 
 return pageNo; 
} 
public void setPageNo(int pageNo) { 
 this.pageNo = pageNo; 
} 
public int getPageSize() { 
 return pageSize; 
} 
public void setPageSize(int pageSize) { 
 this.pageSize = pageSize; 
} 
public int getPageCount() { 
 return pageCount; 
} 
public void setPageCount(int pageCount) { 
 this.pageCount = pageCount; 
} 
public String getResult() { 
 return result; 
} 
public void setResult(String result) { 
 this.result = result; 
}
public String findEquipmentInfo(){ 
 Page page =new Page(); 
 page.setStart(pageSize*pageNo); 
 page.setLimit((pageNo+1)*pageSize); 
 page.setTotalCount(service.rowCount()); 
 List list=service.allperson(pageNo, pageSize); 
 System.out.println(pageNo+" "+pageSize ); 
  this.setJsonStr(listToGridJoson(page, list)); 
 return SUCCESS; 
}

home:

int rowCount=0; 
public int rowCount(){ 
 String sql = "select count(*) from EQUIPMENT_INFO"; 
 Query query = sessionFactory.getCurrentSession().createSQLQuery(sql.toString()); 
 int rowCount = Integer.parseInt(query.uniqueResult().toString()); 
 return rowCount; 
} 
 
public List allperson(int pageNo,int pageSize){ 
 System.out.println(pageNo); 
 List list=this.all(pageNo, pageSize); 
 return list; 
} 
 
public List all(int pageNo,int pageSize){ 
 String sql = "from EquipmentInfo "; 
 Query query = sessionFactory.getCurrentSession().createQuery(sql.toString()); 
 query.setFirstResult(pageSize*pageNo); 
 query.setMaxResults(pageSize); 
 List list = query.list(); 
 return list; 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ExtJS下grid的一些属性说明
Dec 13 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
Apr 26 Javascript
javascript的函数作用域
Nov 12 Javascript
详细介绍jQuery.outerWidth() 函数具体用法
Jul 20 Javascript
Express的路由详解
Dec 10 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 Javascript
微信小程序实现跑马灯效果
Oct 21 Javascript
vue实现商城秒杀倒计时功能
Dec 12 Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
Jul 20 Javascript
关于vue 项目中浏览器跨域的配置问题
Nov 10 Javascript
原生js实现自定义滚动条
Jan 20 Javascript
jQuery中DOM节点的删除方法总结(超全面)
Jan 22 #Javascript
js实现贪吃蛇小游戏(容易理解)
Jan 22 #Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
Jan 22 #Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
Jan 22 #Javascript
js实现图片360度旋转
Jan 22 #Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 #Javascript
BootstrapTable请求数据时设置超时(timeout)的方法
Jan 22 #Javascript
You might like
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
如何在PHP中生成随机数
2020/06/04 PHP
js类后台管理菜单类-MenuSwitch
2007/09/12 Javascript
jcarousellite.js 基于Jquery的图片无缝滚动插件
2010/12/30 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
jquery重新播放css动画所遇问题解决
2013/08/21 Javascript
红米手机抢购的js代码
2014/03/10 Javascript
jQuery中判断对象是否存在的方法汇总
2016/02/24 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
AngularJs基于角色的前端访问控制的实现
2016/11/07 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
vue treeselect获取当前选中项的label实例
2020/08/31 Javascript
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
python logging模块的使用详解
2020/10/23 Python
新加坡一家在线男士皮具品牌:Faire Leather Co.
2019/12/01 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
laravel使用redis队列实例讲解
2021/03/23 PHP
酒店管理毕业生自荐信
2014/05/25 职场文书
2014年村委会工作总结
2014/11/24 职场文书
优秀校长事迹材料
2014/12/24 职场文书
感恩教师主题班会
2015/08/12 职场文书
怎样做好公众演讲能力?
2019/08/28 职场文书
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
Go本地测试解耦任务拆解及沟通详解Go本地测试的思路沟通的重要性总结
2022/06/21 Golang