一个简单的分页

/**

*

*page 实体

*

**/

package com.soarsky.common.page;


public class Page {
 
 private int currentPage = 1;
 
 private int pageSize = 20;
 
 private int totalrow = 0;
 
 private Object obj;
 
 public Page(){}
 
 public Page(Object obj,int currentPage,int pageSize,int totalrow){
  this.obj = obj;
  this.currentPage = currentPage;
  this.pageSize = pageSize;
  this.totalrow = totalrow;
 }
 
 public int getCurrentPage() {
  return currentPage;
 }

 public void setCurrentPage(int currentPage) {
  this.currentPage = currentPage;
 }

 public int getPageSize() {
  return pageSize;
 }

 public void setPageSize(int pageSize) {
  this.pageSize = pageSize;
 }

 public int getTotalrow() {
  return totalrow;
 }

 public void setTotalrow(int totalrow) {
  this.totalrow = totalrow;
 }

 public Object getObj() {
  return obj;
 }

 public void setObj(Object obj) {
  this.obj = obj;
 }

}

 

 

// .jsp

<%@ page contentType="text/html; charset=UTF-8"%>
 第<span id = "jsPageCurrent">1</span>
      页 | 共<span id="jsPageCount"></span>页
      /<span id="jsCountSize">0</span>条记录 每页
       <select id="jsPageSize" οnchange="jsToPageSize()">
 </select>
        条记录   | 第
   <input type="text" style="width: 20px;" value="1" id="jsGoObjPage" /> 页
   <input type="button" value="GO" class="inputbtns" name="button" οnclick="jsToCurrentPage()"/>
   <span id = "jsToPage">
   
    </span>
<input type="hidden" name="page.pageSize" id="pageSize"/>
<input type="hidden" name="page.currentPage" id="currentPage"/>
<script type="text/javascript">
<!--
var jsPageCurrent = 1;//当前页数
var jsPageSize = 10;//每页显示条数
var jsPageCount = 0;//总页数
var jsCountSize = 0;//总条数
var jsCallbackMethod = null;
var jsPageSizeList = new Array();//每页显示数的数组
var jsFormActionName ;
jsPageSizeList[0] = 10;
jsPageSizeList[1] = 20;
jsPageSizeList[2] = 50;
jsPageSizeList[3] = 100;

var jsToPageList = new Array();
/*初始化pageSize*/
function initJsPageSize(pagesize)
{
 jsPageSize = pagesize;
}
/*初始化所有的分页对象
*pageCurrent 当前页数
*pageSize 每页条数
*countSize 总条数
*page_ActionName 查询请求名称
*callbackMethod分页回调的方法(可以为空)
*
*2010-2-3
*/
function initAllPageObj(pageCurrent,pageSize,countSize,page_ActionName,callbackMethod)
{
 if(pageCurrent!=null && pageCurrent!="")
 {
  jsPageCurrent = parseInt(pageCurrent);
  if(jsPageCurrent<1)
  {
   jsPageCurrent = 1;
  }
 }
 if(pageSize!=null && pageSize!="" && pageSize!=0)
 {
  jsPageSize = parseInt(pageSize);
 }
 if(countSize!=null && countSize!="")
 {
  jsCountSize = parseInt(countSize);
 }
 if(callbackMethod!=null)
 {
  jsCallbackMethod = callbackMethod;
 }
 jsFormActionName = page_ActionName;
 editPageDiv(jsCountSize);
}
/*根据总数据数展示分页
*

*2010-2-3
*/
function editPageDiv(backJsCountSize)
{
 jsCountSize = backJsCountSize;
 if(jsCountSize == 0)
 {
  jsPageCount = 0;
 }else
 {
  jsPageCount = parseInt((parseInt(jsCountSize)+parseInt(jsPageSize-1))/jsPageSize);
  if(jsPageCount<1)
  {
   jsPageCount = 1;
  }
 }
 revealPageDiv();
 setPageSize();
}
/*展示分页
*

*2010-2-3
*/
function revealPageDiv()
{
 document.getElementById("jsPageCurrent").innerHTML = jsPageCurrent;
 document.getElementById("jsPageCount").innerHTML = jsPageCount;
 document.getElementById("jsCountSize").innerHTML = jsCountSize;
 document.getElementById("jsCountSize").innerHTML = jsCountSize;
 //跳转到多少也
 document.getElementById("jsGoObjPage").value = jsPageCurrent;
 
 addSelect(jsPageSize,jsPageSizeList,"jsPageSize");
 jsViewObjPage();
 toPageSelect();
}

/*到第几页的list
*

*2010-2-3
*/
function toPageSelect()
{
 jsToPageList = new Array();
 for(var i = 0;i<jsPageCount;i++)
 {
  jsToPageList[i] = i+1;
 }
 //addSelect(jsPageCurrent,jsToPageList,"jsTopageCurrent");
}
/*给下拉菜单添加值
*nowValue 当前select值
*arrayList 下拉菜单值数组
*objId  下拉菜单对象ID
*
*2010-2-3
*/
function addSelect(nowValue,arrayList,objId)
{
 var seleObj = document.getElementById(objId);
 seleObj.innerHTML = "";
 var listSize = arrayList.length;
 for(var i = 0;i<listSize;i++)
 {
  var newOption = document.createElement("oprion");
  if(arrayList[i]==-1)
  {
   seleObj.options[i] = new Option("ALL",arrayList[i]);
  }else
  {
   seleObj.options[i] = new Option(arrayList[i], arrayList[i]);
  }
  
        if(arrayList[i] == nowValue)
  {
   seleObj.options[i].selected="selected";
  }
 }
}
/*改变每页显示数的函数
*
*2010-2-3
*/
function jsToPageSize()
{
 jsPageSize = document.getElementById("jsPageSize").value;
 if(jsCountSize == 0)
 {
  jsPageCount = 0;
 }else
 {
  jsPageCount = parseInt((parseInt(jsCountSize)+parseInt(jsPageSize-1))/jsPageSize);
  if(jsPageCount<1)
  {
   jsPageCount = 1;
  }
  
 }
 if(jsPageCurrent > jsPageCount)
 {
  jsPageCurrent = jsPageCount;
 }
 jsToPage(jsPageCurrent);
 //toPage(jsPageCurrent,jsPageSize);
 //revealPageDiv();
}
/*翻页
*
*2010-2-3
*/
function jsToCurrentPage()
{
 var objValue = document.getElementById("jsGoObjPage").value;
 var ifNumber = isDigit(objValue);
 if(!ifNumber){
  document.getElementById("jsGoObjPage").value = jsPageCurrent;
  alert("页数只能为数字");
  return ;
 }
 if(objValue>jsPageCount){
  alert("对不起,已超出最大页数");
  return ;
 }else if(objValue<1){
  alert("对不起,最小页数不能小于1");
  return ;
 }
 jsPageCurrent = objValue;
 //跳转到具体页
 jsToPage(jsPageCurrent);
 //toPage(jsPageCurrent,jsPageSize);
 //revealPageDiv();
}

function isDigit(obj)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(obj)) return false
return true
}
/*展示首页,上一页,下一页,尾页
*
*2010-2-3
*/

function jsViewObjPage()
{
 var jsToPageInner = document.getElementById("jsToPage");
 jsToPageInner.innerHTML = "";
 var innerStr = "";
 //如果当前页小于2则首页不可点,不能向上翻页
 if(jsPageCurrent<2)
 {
  innerStr = innerStr + '<img src="<%=IMAGE_PATH %>/page/dis_firstpage.gif" title="首页"/>&nbsp;&nbsp;&nbsp;'
  +'<img src="<%=IMAGE_PATH %>/page/dis_prepage.gif" title="上一页"/>&nbsp;&nbsp;&nbsp;';
 }else
 {
  innerStr = innerStr + '<img src="<%=IMAGE_PATH %>/page/firstpage.gif" title="首页" οnclick="jsToPage(1)"/>&nbsp;&nbsp;&nbsp;'
  +'<img src="<%=IMAGE_PATH %>/page/prepage.gif" title="上一页" οnclick="jsToPage('+parseInt(jsPageCurrent-1)+')"/>&nbsp;&nbsp;&nbsp;';
 }
 jsToPageInner.innerHTML = "as";
 //如果当前页是最后一页则不能再向后翻页
 if(jsPageCurrent>=jsPageCount)
 {
  innerStr = innerStr + '<img src="<%=IMAGE_PATH %>/page/dis_nextpage.gif" title="下一页"/>&nbsp;&nbsp;&nbsp;'
  +'<img src="<%=IMAGE_PATH %>/page/dis_lastpage.gif" title="尾页"/>';
 }else
 {
  innerStr = innerStr + '<img src="<%=IMAGE_PATH %>/page/nextpage.gif" title="下一页" οnclick="jsToPage('+parseInt(jsPageCurrent+1)+')"/>&nbsp;&nbsp;&nbsp;'
  +'<img src="<%=IMAGE_PATH %>/page/lastpage.gif" title="尾页" οnclick="jsToPage('+parseInt(jsPageCount)+')"/>';
 }
 jsToPageInner.innerHTML =  innerStr;
}

/*翻页
*objPageSize  跳转的页码
*
*2010-2-3
*/

function jsToPage(jsObjPageCurrent)
{
 if(parseInt(jsObjPageCurrent)<1)
 {
  alert("对不起,当前已经是第一页");
  return;
 }else if(parseInt(jsObjPageCurrent)>jsPageCount)
 {
  alert("对不起,当前已经是最后一页");
  return ;
 }
 jsPageCurrent = parseInt(jsObjPageCurrent);
 //跳转到具体页数
 submitObj();
}
/**
*提交
*
*2010-2-3
**/
function submitObj()
{
 document.forms[0].action=jsFormActionName;
 setPageSize();
 if(jsCallbackMethod!=null)
 {
  eval(jsCallbackMethod);
 }else
 {
  document.forms[0].submit();
 }
}
/**
*将分页信息与页面对象绑定
*
**/
function setPageSize()
{
 document.getElementById("pageSize").value = jsPageSize ;//每页显示条数绑定到页面表单
 document.getElementById("currentPage").value = jsPageCurrent;//页码绑定到页面表单
}
//revealPageDiv();
//-->
</script>

 

 

// jsp 使用方法

<script type="text/javascript">
/**
*${pageObj.currentPage}  当前第几页
*${pageObj.pageSize}  每页显示条数
*${pageObj.itemCount}   总条数
*queryAssetService  查询的方法名称
**/
initAllPageObj('${page.currentPage}','${page.pageSize}','${page.totalrow}','AdPerformanceStatistics!query.action');
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值