js实现分页

sysdeptlist.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
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%>">
    
    <title>My JSP 'sysdeptlist.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script type="text/javascript" src="<%=basePath%>/js/jquery-1.8.2.js"></script>
	<script type="text/javascript" src="<%=basePath%>/js/page.js"></script>
	<script type="text/javascript">
	$(document).ready(function(){
		sysDeptList(); 
    }); 
    function sysDeptList(){
    	var currentPage=page.currentPage;
	var pageSize=page.pageSize;
        $.ajax({               
            type: "POST",               
            dataType: "json",               
            url: 'sysDeptListPage',
            data:  'currentPage='+currentPage+'&pageSize='+pageSize,    
            success: function(data) {   
                //var json=eval("("+data+")");
                var json=data["depylist"];
                var deptdata="";
                if(json["jsondata"].length==0){
                	deptdata+='<tr><td colspan="4">没有记录</td></tr>';
                }
                for(var i=0;i<json["jsondata"].length;i++){
                	deptdata+='<tr><td>'+json["jsondata"][i].jgid+'</td>'
							+'<td>'+json["jsondata"][i].jgmc+'</td>'
                			+'<td>'+json["jsondata"][i].fjgid+'</td>'
                			+'<td>'+json["jsondata"][i].jgbm+'</td></tr>';
                }
                $("#sysdeptlist").html(deptdata);
                paging1(json,sysDeptList);
                initTableStyle("sysdeptlist");
            }   
        });	
    }
    //初始化表格样式
    function initTableStyle(){
    	$(".table1 tr").hover(function(){ 
    	    $(this).children("td").addClass("hover") 
    	},function(){ 
    	    $(this).children("td").removeClass("hover") 
    	});
    	$(".table1 tbody tr:odd").css("background-color", "#bbf"); 
    	$(".table1 tbody tr:even").css("background-color","#ffc");  
    }
	</script>
	<style type="text/css">
       .hover
       {
           background-color:red;
       }
    </style>
  </head>
  
  <body>
    <table width="500px" border="1" class="table1">
    <th>jgid</th>
    <th>jgmc</th>
    <th>fjgid</th>
    <th>jgbm</th>
    <tbody id="sysdeptlist">
    </tbody>
    </table>
    <div id="id_pageDiv"></div>
  </body>
</html>

 

Page.java:

package com.cz.model;

import java.util.ArrayList;

import net.sf.json.JSONArray;

public class Page {
	private Long currentPage;
	private Long totalPage;
	private Long pageSize;
	private Long count;
	private JSONArray jsondata;
	public Long getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(Long currentPage) {
		this.currentPage = currentPage;
	}
	public Long getTotalPage() {
		return totalPage;
	}
	public void setTotalPage(Long totalPage) {
		this.totalPage = totalPage;
	}
	public Long getPageSize() {
		return pageSize;
	}
	public void setPageSize(Long pageSize) {
		this.pageSize = pageSize;
	}
	public Long getCount() {
		return count;
	}
	public void setCount(Long count) {
		this.count = count;
	}
	public JSONArray getJsondata() {
		return jsondata;
	}
	public void setJsondata(JSONArray jsondata) {
		this.jsondata = jsondata;
	}
	
	
}

 

action方法:

/**
	 * @author chenzheng
	 * @since 2013-9-8
	 * @Description: 分页测试
	 * @throws
	 * @return
	 * String
	 */
	public String sysDeptListPage(){
		System.out.println("********sysDeptListPage*******");
		Long fromRow=(currentPage-1)*pageSize+1;
		Long toRow=currentPage*pageSize;
		String sql="select b.* from (select a.*,rownum rn from (select t.jgid,t.jgmc,t.fjgid,t.jgbm from SYS_DEPT t) a where rownum<="+toRow+") b where rn>="+fromRow;
		ResultSet rs=SqlHelper.executeQuery(sql, null);
		String csql="select count(*) from SYS_DEPT";
		ResultSet rs2=SqlHelper.executeQuery(csql,null);
		Long count=0l;
		Long totalPage=0l;
		try {
			while(rs2.next()){
				count=rs2.getLong(1);
				totalPage=count%pageSize>0?count/pageSize+1:count/pageSize;
			}
		} catch (SQLException e1) {
			e1.printStackTrace();
		}finally{
			SqlHelper.close(rs2, SqlHelper.getPs(), SqlHelper.getCt());
		}
		JSONArray jarray=new JSONArray();
		Page page=new Page();
		page.setCount(count);
		page.setCurrentPage(currentPage);
		page.setPageSize(pageSize);
		page.setTotalPage(totalPage);
		List<Sysdept> list=new ArrayList<Sysdept>();
		try {
			while(rs.next()){
				Sysdept dept=new Sysdept();
				dept.setJgid(rs.getString(1));
				dept.setJgmc(rs.getString(2));
				dept.setFjgid(rs.getString(3));
				dept.setJgbm(rs.getString(4));
				list.add(dept);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}finally{
			SqlHelper.close(rs, SqlHelper.getPs(), SqlHelper.getCt());
		}
		jarray.addAll(list);
		page.setJsondata(jarray);
		JSONObject jobj=new JSONObject();
		jobj.put("depylist", page);
		System.out.println(jobj.toString());
		HttpServletResponse response = ServletActionContext.getResponse();
		response.setCharacterEncoding("utf-8");
		PrintWriter pw = null;
		try {
			pw = response.getWriter();
			pw.write(jobj.toString());
		} catch (IOException e) {
			e.printStackTrace();
		}
		pw.flush();
		pw.close();
		return null;
	}

 

page.js:

//初始化分页变量
var page = {};
page.currentPage = 1;
page.pageSize = 4;
// 创建分页
function paging1(data, me) {
	// var projectpath=$("#projectpath").val();
	// 当前页
	var curpage = data.currentPage;
	// 总页数
	var totalpage = data.totalPage;
	// 每页显示条数
	var pagesize = data.pageSize;
	// 总记录数
	var count = data.count;
	page.count = count;
	page.pageSize = pagesize;
	// 创建tab
	var tab = document.createElement("TABLE");
	tab.style.cssText = "margin-left:30%;margin-top:10px;table-layout:fixed;";
	var tbody = document.createElement("TBODY");
	var tr = document.createElement("TR");
	// 创建记录数
	var td = document.createElement("TD");
	td.width = 220;
	var pagetext = "";
	pagetext = "共 " + count + " 条记录 " + "第" + curpage + "页/共" + totalpage + "页";
	var div = document.createElement("DIV");
	div.id = "id_print";
	div.appendChild(document.createTextNode(pagetext));
	td.appendChild(div);
	tr.appendChild(td);
	tbody.appendChild(tr);
	tab.appendChild(tbody);
	/*
	 * var txt1="每页显示"; var txt2="条"; var td=document.createElement("TD");
	 * td.width=70; td.appendChild(document.createTextNode(txt1));
	 * tr.appendChild(td); 添加选择显示数下拉框 var td=document.createElement("TD");
	 * td.width=45; var option7=document.createElement("option");
	 * option7.value=2; if(option7.value==page.pageSize){ option7.selected=true; }
	 * option7.appendChild(document.createTextNode("4")); var
	 * option1=document.createElement("option"); option1.value=10;
	 * if(option1.value==page.pageSize){ option1.selected=true; }
	 * option1.appendChild(document.createTextNode("10")); var
	 * option2=document.createElement("option"); option2.value=20;
	 * if(option2.value==page.pageSize){ option2.selected=true; }
	 * option2.appendChild(document.createTextNode("20")); var
	 * option3=document.createElement("option"); option3.value=50;
	 * if(option3.value==page.pageSize){ option3.selected=true; }
	 * option3.appendChild(document.createTextNode("50")); var
	 * select=document.createElement("select"); select.id="id_pageSize"; if
	 * ($.browser.safari) { select.addEventListener("onchange",me);
	 * select.οnchange=function (){ var
	 * pagesize=document.getElementById("id_pageSize").value;
	 * page.pageSize=pagesize; } } if ($.browser.mozilla) {
	 * select.addEventListener("onchange",me); select.οnchange=function (){ var
	 * pagesize=document.getElementById("id_pageSize").value;
	 * page.pageSize=pagesize; } } if(window.addEventListener) // Mozilla,
	 * Netscape, Firefox { select.addEventListener("change",me,false);
	 * select.change=function(){ var
	 * pagesize=document.getElementById("id_pageSize").value;
	 * if(page.pageSize==option3.value){ option3.selected=true; }else
	 * if(page.pageSize==option2.value){ option2.selected=true; }else{
	 * option1.selected=true; } page.pageSize=pagesize; } }else//IE {
	 * select.attachEvent("onchange",me); select.οnchange=function (){ var
	 * pagesize=document.getElementById("id_pageSize").value;
	 * page.pageSize=pagesize; } } select.appendChild(option7);
	 * select.appendChild(option1); select.appendChild(option2);
	 * select.appendChild(option3); td.appendChild(select); tr.appendChild(td);
	 * var td=document.createElement("TD"); td.width=50;
	 * td.appendChild(document.createTextNode(txt2)); tr.appendChild(td);
	 * tbody.appendChild(tr); tab.appendChild(tbody);
	 */
	// 添加首页
	var td = document.createElement("TD");
	td.width = 40;
	var img = document.createElement("IMG");
	img.onclick = function() {
		page.currentPage = 1;
		page.count = count;
	}
	img.title = "首页";
	img.style.cssText = "cursor:hand";
	if (page.currentPage == 1) {
		img.src = "../axfw/img/first_0.gif";
	} else {
		img.src = "../axfw/img/first_1.gif";
		img.className = "abc";
		if ($.browser.msie) {
			img.attachEvent("onclick", me);
		} else {
			img.addEventListener("click", me, false);
		}
	}
	td.appendChild(img);
	tr.appendChild(td);
	tbody.appendChild(tr);
	tab.appendChild(tbody);
	// 添加上一页
	var td = document.createElement("TD");
	td.width = 40;
	var img = document.createElement("IMG");
	img.onclick = function() {
		page.currentPage = parseInt(curpage) - 1;
		page.count = count;
	}
	img.title = "上一页";
	img.style.cssText = "cursor:hand";
	if (parseInt(curpage) > 1) {
		img.src = "../axfw/img/prev_1.gif";
		img.className = "abc";
		if ($.browser.msie) {
			img.attachEvent("onclick", me);
		} else {
			img.addEventListener("click", me, false);
		}
	} else {
		img.src = "../axfw/img/prev_0.gif";
	}
	td.appendChild(img);
	tr.appendChild(td);
	tbody.appendChild(tr);
	tab.appendChild(tbody);
	// 添加下一页
	var td = document.createElement("TD");
	td.width = 40;
	var img = document.createElement("IMG");
	img.onclick = function() {
		page.currentPage = parseInt(curpage) + 1;
		page.count = count;
	}
	img.title = "下一页"
	img.src = "../axfw/img/next_1.gif";
	img.style.cssText = "cursor:hand";
	if (parseInt(curpage) < parseInt(totalpage)) {
		img.className = "abc";
		if ($.browser.msie) {
			img.attachEvent("onclick", me);
		} else {
			img.addEventListener("click", me, false);
		}
	} else {
		img.src = "../axfw/img/next_0.gif";
	}
	td.appendChild(img);
	tr.appendChild(td);
	tbody.appendChild(tr);
	tab.appendChild(tbody);
	// 添加末页
	var td = document.createElement("TD");
	td.width = 40;
	var img = document.createElement("IMG");
	img.onclick = function() {
		page.currentPage = parseInt(totalpage);
		page.count = count;
	}
	img.title = "末页";
	if (parseInt(curpage) == totalpage) {
		img.src = "../axfw/img/last_0.gif";
	} else {
		img.src = "../axfw/img/last_1.gif";
		img.className = "abc";
		img.style.cssText = "cursor:hand";
		if ($.browser.msie) {
			img.attachEvent("onclick", me);
		} else {
			img.addEventListener("click", me, false);
		}
	}
	td.appendChild(img);
	tr.appendChild(td);
	tbody.appendChild(tr);
	tab.appendChild(tbody);
	// 添加文本框
	var td = document.createElement("TD");
	td.width = 43;
	var pageinput = document.createElement("INPUT");
	pageinput.id = "id_pageinput";
	pageinput.type = "text";
	pageinput.size = 1;
	// pageinput.οnkeydοwn=onkeydownapp(me);
	/*
	 * function onkeydownapp(obj){ if (event.keyCode == 13) { obj; } }
	 */
	td.appendChild(pageinput);
	tr.appendChild(td);
	tbody.appendChild(tr);
	tab.appendChild(tbody);
	/*
	 * $(document).keydown(function(event){ //这里如果写成$(window),在ie下面就不会起作用
	 * if(event.keyCode==13){ alert(123); return false; } });
	 */
	/*
	 * pageinput.attachEvent("onkeyup",me); pageinput.οnkeyup=function (){
	 * //alert(event.keyCode); var val=pageinput.value; if (event.ctrlKey &&
	 * event.keyCode == 13) { var
	 * curpage=document.getElementById("id_pageinput").value; if(curpage==""){
	 * Dialog.alert("请输入数值",function(){}, 190, 60); return; }
	 * if(isNaN(curpage)){ Dialog.alert("请输入数值",function(){}, 190, 60); return; }
	 * if(parseInt(curpage)>parseInt(totalpage)){
	 * Dialog.alert("超过最大页数",function(){}, 190, 60); return; } if(curpage<=0){
	 * Dialog.alert("页数应该大于0",function(){}, 190, 60); return; }
	 * page.currentPage=parseInt(curpage); page.count=count; }else{
	 * pageinput.value=val; } }
	 */
	// 添加GO
	var td = document.createElement("TD");
	td.width = 30;
	var pagea = document.createElement("A");
	pagea.title = "跳到";
	// pagea.innerText="GO";
	pagea.appendChild(document.createTextNode("GO"));
	pagea.href = "javascript:void(0);";
	pagea.onclick = function() {
		var curpage = document.getElementById("id_pageinput").value;
		if (curpage == "") {
			alert("请输入数值");
			return;
		}
		if (isNaN(curpage)) {
			alert("请输入数值");
			return;
		}
		if (parseInt(curpage) > parseInt(totalpage)) {
			alert("超过最大页数");
			return;
		}
		if (curpage <= 0) {
			alert("页数应该大于0");
			return;
		}
		page.currentPage = parseInt(curpage);
		page.count = count;
	}
	//pagea.attachEvent("onclick", me);
	if ($.browser.msie) {
		pagea.attachEvent("onclick", me);
	} else {
		pagea.addEventListener("click", me, false);
	}
	td.appendChild(pagea);
	tr.appendChild(td);
	tbody.appendChild(tr);
	tab.appendChild(tbody);
	if (arguments.length == 3) {
		try {
			// 清除分页
			document.getElementById(arguments[2]).innerHTML = "";
			// 添加到页面
			document.getElementById(arguments[2]).appendChild(tab);
		} catch (e) {
		}
	} else {
		try {
			document.getElementById("id_pageDiv").innerHTML = "";
			// 添加到页面
			document.getElementById("id_pageDiv").appendChild(tab);
		} catch (e) {
		}
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值