您的位置:首页 > 编程语言 > Java开发

Java分页代码实例

2015-02-02 17:06 399 查看
一、创建.Java文件

public final class PageControl {

/*** 当前页号

*/

private int currPage = 1;

/*** 每页显示记录数

*/

private int perPageRecord = 20;

/*** 总记录数量

*/

private long totalRecord = 0;

/*** 总页数

*/

private int totalPage = 1;

/**

* 设置总记录条数

*@param totalRecord 记录条数

*@return void

*/

public void setTotalRecord(long totalRecord) {

if (totalRecord > 0) {

this.totalRecord = totalRecord;

}

}

/**

* 设置当前页数

*@param currPage 当前页数

*@return void

*/

publicvoid setCurrPage(int currPage) {

if (currPage < 1) {

this.currPage = 1;

}

else {

this.currPage = currPage;

}

}

public int getPerPageRecord() {

return perPageRecord;

}

public void setPerPageRecord(int perPageRecord) {

this.perPageRecord = perPageRecord;

}

public long getTotalRecord() {

return totalRecord;

}

public long getTotalPage() {

return totalPage;

}

public int getCurrPage() {

return currPage;

}

/**

* 获得总页数

*return int

*/

private void countTotalPage(){

//如果总记录数为每页记录数的整数倍

if (totalRecord % perPageRecord == 0) {

totalPage = (int) (totalRecord / perPageRecord);

}

else {

totalPage = (int) (totalRecord / perPageRecord) + 1;

}

if (totalPage <= 0) {

totalPage = 1;

}

}

public static PageControl getPgCtrl(int currPage,

longtotalRows) {

PageControl pgCtrl = new PageControl();

//设置当前页数

if (currPage < 1) {

pgCtrl.setCurrPage(1);

}

else {

pgCtrl.setCurrPage(currPage);

}

//设置总记录数

pgCtrl.setTotalRecord(totalRows);

//分页计算

pgCtrl.countTotalPage();

return pgCtrl;

}

/**

* 获得总页数

*return int

*/

private void countTotalPage() {

//如果总记录数为每页记录数的整数倍

if (totalRecord % perPageRecord == 0) {

totalPage = (int) (totalRecord / perPageRecord);

}

else {

totalPage = (int) (totalRecord / perPageRecord) + 1;

}

if (totalPage <= 0) {

totalPage = 1;

}

}

public String getPgCtrlHTML() {

return getPgCtrlHTML("0");

}

public String getPgCtrlHTML(String formno) {

// if (this.totalRecord == 0) {

// return "";

// }

StringBuffer sb = new StringBuffer();

//计算总页数

this.countTotalPage();

sb.append("<table class='list_table_pageSplitInfo' width='98%'align='center' border='0' cellspacing='0'cellpadding='0'><tr><td>");

sb.append("<input name='currPage' type='hidden'><inputname='currPage1' type='hidden' class='text' >");

sb.append("<div class='list_table_pageSplitInfo'>共有 ");

sb.append("<b>"+totalRecord+"</b> 条记录  ");

sb.append("<b>" + totalPage +"</b> 页   当前是第 <b>" +currPage + " </b>页  ");

// //生成首页链接

// if (currPage == 1) {

// sb.append("最前页");

// }

// else {

// sb.append("<a href='javascript:gotoPage(1)'>最前页</a>");

// }

// sb.append("  \r\n");

//生成前页链接

if ( (currPage - 1) == 0) {

sb.append("上页");

}

else {

sb.append("<a href='javascript:gotoPage(" + (currPage - 1)+ ")'>上页</a>");

}

sb.append(" \r\n");

//生成后页链接

if ( (currPage + 1) > totalPage) {

sb.append("下页");

}

else {

sb.append("<a href='javascript:gotoPage(" + (currPage + 1)+ ")'>下页</a>");

}

sb.append("  \r\n");

// //生成末页链接

// if (currPage == totalPage) {

// sb.append("最后页");

// }

// else {

// sb.append("<a href='javascript:gotoPage(" + totalPage +")'>最后页</a>");

// }

//页面跳转下拉框

sb.append("翻到第 \r\n<select name=pageonChange='gotoPage(this.value)'>\r\n");

if (totalPage == 1) {

sb.append(" <optionvalue=1 selected>1</option>\r\n");

}

else {

for (int i = 1; i <= totalPage; i++) {

if (currPage == i) {

sb.append(" <optionvalue=" + i + " selected>" + i + "</option>\r\n");

}

else {

sb.append(" <optionvalue=" + i + ">" + i + "</option>\r\n");

}

}

}

sb.append("</select> 页 \r\n");

sb.append("</div></td></tr></table>");

sb.append("<script language='JavaScript'>\r\n");

sb.append("function gotoPage(page)\r\n");

sb.append("{\r\n");

sb.append(" if(page.length> 0)\r\n");

sb.append(" {\r\n");

sb.append(" for(i=0;i<page.length;i++)\r\n");

sb.append(" if((page.charAt(i)<'0' || page.charAt(i)>'9')){\r\n");

sb.append(" alert('请输入正确的页数!')\r\n");

sb.append(" return false;\r\n");

sb.append(" }\r\n");

sb.append(" }\r\n");

sb.append(" if(page>"+totalPage+")\r\n");

sb.append(" page="+totalPage+"\r\n");

if(formno.equals("0")){

sb.append(" document.forms[" + formno +"].currPage.value=page;\r\n");

sb.append(" document.forms[" + formno + "].submit();\r\n");

}else{

sb.append(" document."+formno+".currPage.value=page;\r\n");

sb.append(" document."+formno+".submit();\r\n");

}

sb.append("}\r\n");

sb.append("</script>\r\n");

return sb.toString();

}

}

二.JSP页面代码

//取当前页数

String currPage="";

currPage=request.getParameter("currPage")==null?"1":request.getParameter("currPage");

if(currPage!=null &&currPage.equals("")){

currPage="1";

}

SysorgBean bean = new SysorgBean();

//获得记录总数

int i_count=0;

i_count =bean.getSysorg(Code);

//查询分页

PageControl request_pgCtrl=newPageControl();

request_pgCtrl =PageControl.getPgCtrl(Integer.parseInt(currPage), i_count);

List list=null;

list =bean.getSysorgPage(Code,(int)request_pgCtrl.getBeginRec(),

(int)request_pgCtrl.getEndRec());

//调用方法显示

request_pgCtrl.getPgCtrlHTML();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: