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 相关文章推荐
许愿墙中用到的函数
Oct 07 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
seajs1.3.0源码解析之module依赖有序加载
Nov 07 Javascript
jquery进行数组遍历如何跳出当前的each循环
Jun 05 Javascript
js实现遮罩层弹出框的方法
Jan 15 Javascript
基于Marquee.js插件实现的跑马灯效果示例
Jan 25 Javascript
详解Angular调试技巧之报错404(not found)
Jan 31 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
Vue.js点击切换按钮改变内容的实例讲解
Aug 22 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 Javascript
如何在微信小程序中实现Mixins方案
Jun 20 Javascript
JavaScript 语句之常用 for 循环详解
Mar 29 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
封装ThinkPHP的一个文件上传方法实例
2014/10/31 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
CodeIgniter读写分离实现方法详解
2016/01/20 PHP
PHP魔术方法之__call与__callStatic使用方法
2017/07/23 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
thinkphp5.1框架模板布局与模板继承用法分析
2019/07/19 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
让广告代码不再影响你的网页加载速度
2006/07/07 Javascript
Javascript 调试利器 Firebug使用详解六
2009/07/05 Javascript
javascript:文字不间断向左移动的实例代码
2013/08/08 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
jQuery焦点控制图层展示延迟隐藏的方法
2015/03/09 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
详解Vue自定义过滤器的实现
2017/01/10 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
[01:01:25]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第三局
2016/02/27 DOTA
python中函数总结之装饰器闭包详解
2016/06/12 Python
socket + select 完成伪并发操作的实例
2017/08/15 Python
有趣的python小程序分享
2017/12/05 Python
python3使用pandas获取股票数据的方法
2018/12/22 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
澳大利亚女装精品店:Alannah Hill
2020/07/29 全球购物
南京某公司笔试题
2013/01/27 面试题
执行力心得体会
2013/12/31 职场文书
行政主管职责范本
2014/03/07 职场文书
学校花圃的标语
2014/06/18 职场文书
政工例会汇报材料
2014/08/26 职场文书
react 路由Link配置详解
2021/11/11 Javascript
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript