简单分页插件,kkpager

后台用习惯了框架分页,到做网页的时候就不自己去写分页了,并且需要的分页也是比较简单的,然后就在网上找了个简单的分页插件:kkpager

需要导入的js 和cs:

     kkpager.js

    kkpager.min.js

    kkpager.css

效果图如下:

  

以下为实例:

----------BaseDao.java

//分页查询
 public List<T> listByPage(String hql,int start,int maxNum,Object ...params){
  Query q = getSession().createQuery(hql);
  q.setFirstResult(start);
  q.setMaxResults(maxNum);
  for(int i = 0;i < params.length;i++){
   q.setParameter(i, params[i]);
  }
  return q.list();
 }

------------serviceImpl

public Map<String, Object> getAll(int start, int limit,StuInfo entity) {
  Map<String, Object> map = HQLUtils.getHqlByEntity(entity);
  List<Object> params = (List<Object>) map.get("params");
  List<StuInfo> list = stuInfoDao.listByPage(map.get("queryHql") + "",start, limit,params.toArray());
  long total = stuInfoDao.getCount(map.get("countHql") + "",params.toArray());
  map.clear();
  map.put("items", list);
  map.put("total", total);
  return map;
 }

--------------controllelr

@Controller
@RequestMapping("/stuInfo")

public class StuInfoController{

   @RequestMapping("/testPager")
    public String getAll(int start,int limit,@ModelAttribute("stuInfo") StuInfo stuInfo, ModelMap map){
     Map<String, Object> all = stuInfoService.getAll(start, limit, stuInfo);
     map.put("total", all.get("total"));//总数量
     map.put("list", all.get("items"));//分页数据
         map.put("limit", limit);
         return "test/testPage";
   }

}

----------jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
 String path = request.getContextPath();
 String basePath = request.getScheme() + "://"
   + request.getServerName() + ":" + request.getServerPort()
   + path + "/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<link rel="stylesheet" type="text/css" href="./css/kkpager.css">
<script type="text/javascript" src="./js/jquery-1.7.2.js"></script>
<script type="text/javascript" src="./js/kkpager.js"></script>
<script type="text/javascript" src="./js/kkpager.min.js"></script>
</head>

<body>
 <table id="ta">
  <tr>
   <td>id</td>
   <td>姓名</td>
   <td>年龄</td>
  </tr>
  <c:forEach items="${list }" var="stu">
   <tr>
    <td>${stu.id }</
    <td>
    <td>${stu.name }</
    <td>
    <td>${stu.age} </
    <td>
   <tr>
  </c:forEach>
 </table>

<div id="kkpager"></div>
 <input type="hidden" value="${total }" id="total">
 <input type="hidden" value="${limit }" id="limit">

</body>
<script type="text/javascript">
//js获取地址栏参数的值, name为参数名
function getParameter(name) {
 var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
 var r = window.location.search.substr(1).match(reg);
 if (r!=null) return unescape(r[2]); return null;
}

var totalPage = Math.ceil($("#total").val()/$("#limit").val());//总页数
var limit = $("#limit").val();//每页数量

var totalRecords = $("#total").val();//总数量
var pageNo = getParameter(‘pno‘);
//init
$(function(){
 
 if(!pageNo){
  pageNo = 1;
 }
 //生成分页
 //有些参数是可选的,比如lang,若不传有默认值
 kkpager.generPageHtml({
  pno : pageNo,
  //总页码
  total : totalPage,
  //总数据条数
  totalRecords : totalRecords,
  //链接前部
  hrefFormer : ‘pager_test‘,
  //链接尾部
  hrefLatter : ‘.html‘,
  getLink : function(n){
   var ss =  (parseInt(n)-1)*parseInt(limit);
   return "<%=basePath%>stuInfo/testPager?start=" + ss + "&limit="
      + limit + "&pno=" + n;
   }
  });
 });
</script>

</html>

时间: 2024-08-29 11:25:51

简单分页插件,kkpager的相关文章

jquery 简单分页插件jQuerypage

昨天项目手机端要用到table的分页,考虑到手机端界面小,系统数据不多,在没考虑大批量数据处理的前提前就下载了这个插件,简单. 展示数据datas为json格式. <!DOCTYPE html> <html lang="ch"> <head> <meta charset="UTF-8"> <title>Title</title> <link href="page.css"

自己写的基于bootstrap的简单分页插件

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css&quo

简单实用的jQuery分页插件

在做商城和订单管理的时候,常常会用到分页功能,所以我封装了一个jQuery的分页插件,该插件主要实现上下翻页,输入数字跳转等功能. 具体实现如下: 输入参数需要当前页码pageNo,总页码totalPage,回调函数callback. 主要的实现有两个函数,一个是根据当前页和总页数生成相应的html的代码,一个是事件绑定及回调函数的执行. creatHtml函数: creatHtml:function(){ var me=this; var content=""; //当前页码 var

MyBatis分页插件:比PageHelper都要简单,使用很灵活,目前支持Oracle和MySQL

1.概述: 经过努力写了个分页插件,目前支持MySQL和Oracle.它的使用应该是目前为止最简单的,对于PageHelper据原作者描述使用了ThreadLocal等技术,避免多线程的不一致,PageHelper实现较为复杂,其次也有其定义的startPage,endPage这样的开关代码,造成代码侵入,而没有屏蔽PageHelper导致代码污染. 我的插件十分简单易用,代码污染性极小,也无需考虑多线程的问题,反正都是一个事务中处理的,其次使用方法支持四种,十分灵活. 2.插件代码,配置和简易

Mybatis分页插件PageHelper简单使用

1. 引入分页插件 引入分页插件有下面2种方式,推荐使用 Maven 方式. 1). 引入 Jar 包 你可以从下面的地址中下载最新版本的 jar 包 https://oss.sonatype.org/content/repositories/releases/com/github/pagehelper/pagehelper/ http://repo1.maven.org/maven2/com/github/pagehelper/pagehelper/ 由于使用了sql 解析工具,你还需要下载

MyBatis 插件使用-自定义简单的分页插件

目录 1 分页参数的传递 2 实现 Interceptor 接口 2.1 Interceptor 接口说明 2.1 注解说明 2.3 实现分页接口 PageInterceptor 3. 更改配置 4 测试 @ 作为一个优秀的框架, 其除了要解决大部分的流程之外, 还需要提供给使用者能够自定义的能力. MyBatis 有缓存, 有插件接口等.我们可以通过自定义插件的方式来对 MyBatis 进行使用上的扩展. 以一个简单的 mysql 分页插件为例, 插件的使用包含以下步骤: 1 分页参数的传递

SpringMVC+MyBatis分页插件简单实现

1.封装分页Page类 1 package com.framework.common.page.impl; 2 3 import java.io.Serializable; 4 5 import com.framework.common.page.IPage; 6 /** 7 * 8 * 9 * 10 */ 11 public abstract class BasePage implements IPage, Serializable { 12 13 /** 14 * 15 */ 16 priv

bootstrap-paginator分页插件的简单使用实例

21:36:40 简述:bootstrap-paginator是一款基于bootstrap的jQuery分页插件. githup项目地址:https://github.com/lyonlai/bootstrap-paginator 兼容: Firefox 5+, Chrome 14+, Safari 5+, Opera 11.6+ and IE 7+ 参数介绍: 标记为红色的为必选参数 参数名称 数据类型 默认值 描述 bootstrapMajorVersion number 2 搭配使用的bo

四步教你SpringBoot+Mybatis-plus分页插件(简单实现)

MyBatis-Plus 分页插件---四步走 第一步:编写分页插件配置类 //Spring boot方式 @EnableTransactionManagement @Configuration @MapperScan("com.itheima.mapper") public class MyBatisPlusConfig { /** * 分页插件 * @return */ @Bean public PaginationInterceptor paginationInterceptor