/**
*
*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="首页"/> '
+'<img src="<%=IMAGE_PATH %>/page/dis_prepage.gif" title="上一页"/> ';
}else
{
innerStr = innerStr + '<img src="<%=IMAGE_PATH %>/page/firstpage.gif" title="首页" οnclick="jsToPage(1)"/> '
+'<img src="<%=IMAGE_PATH %>/page/prepage.gif" title="上一页" οnclick="jsToPage('+parseInt(jsPageCurrent-1)+')"/> ';
}
jsToPageInner.innerHTML = "as";
//如果当前页是最后一页则不能再向后翻页
if(jsPageCurrent>=jsPageCount)
{
innerStr = innerStr + '<img src="<%=IMAGE_PATH %>/page/dis_nextpage.gif" title="下一页"/> '
+'<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)+')"/> '
+'<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>