用Ajax实现分页和删除操作的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 'index.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">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>


<body>
<div align="center">
<div>
<h1>
员工界面
</h1>
<input type="button" value="查询员工" id="btn" />


<div id="showEmps">
<table border="1" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th>
序号
</th>
<th>
姓名
</th>
<th>
性别
</th>
<th>
年龄
</th>
<th>
出生日期
</th>
<th>
薪资
</th>
<th>
<input type="checkbox" id="chk" />
<input type="button" value="删除所选项" id="delBtn" />
</th>
</tr>
</thead>
<tbody id="emps"></tbody>
</table>
<div id="pages"></div>
</div>
</div>
</div>
</body>
</html>
<script type="text/javascript">
<!--
//窗体加载完毕后  触发该函数
window.onload = function() {


//当点击删除操作的时候
var delHtmlBtn = getNode("delBtn");
//注册事件
delHtmlBtn.onclick = function() {


var ids = "";
var delchksNode = document.getElementsByName("delchk");
for ( var i = 0; i < delchksNode.length; i++) {
if (delchksNode[i].checked) {
ids += delchksNode[i].value + ",";
}


}


//第一步:创建xmlHttpRequest对象
var xmlHttp = createXMLHttpRequest();


//清空
clearNodes(empsHtmlNode);


xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
//获取 xmlDocument
var xmlDoc = xmlHttp.responseXML;
//获取跟标签
var rootNode = xmlDoc.documentElement;
//获取 xml文件中 emp 的所有的元素节点
var emps = xmlDoc.getElementsByTagName("emp"); //emp id="xxx"
//获取 emp 节点里边所有的孩子节点
for ( var i = 0; i < emps.length; i++) {
//得到一个具体的emp:
var empNode = emps[i];
//为emp创建一行 
var tr = document.createElement("tr");
//创建序号的 td
var td1 = document.createElement("td");
td1.appendChild(document.createTextNode(emps[i]
.getAttribute("id")));
tr.appendChild(td1);


var elementNodes = empNode.childNodes; //name ,sex ,age
for ( var j = 0; j < elementNodes.length; j++) {


//节点是否是元素节点 
if (elementNodes[j].nodeType == 1) {
var td2 = document.createElement("td");
td2
.appendChild(document
.createTextNode(elementNodes[j].firstChild.nodeValue));
tr.appendChild(td2);
}
}


var delchk = document.createElement("input");
delchk.setAttribute("type", "checkbox");
delchk.setAttribute("name", "delchk");
delchk.setAttribute("value", emps[i]
.getAttribute("id"));
tr.appendChild(delchk);
empsHtmlNode.appendChild(tr);


}


//调用分页创建分页相关的node节点对象
pagesNode(pagesHtmlNode, rootNode);
}
}


}


//第二步:规定请求参数
xmlHttp.open("GET", "./delServlet?ids=" + ids
+ "&timeStamp=" + new Date().getTime(), true);
//第三步:发送请求
xmlHttp.send(null);
}


//实现全选 全部选的效果
var chksHtmlNode = getNode("chk");


//注册的事件
chksHtmlNode.onclick = function() {
var delchksNode = document.getElementsByName("delchk");
if (chksHtmlNode.checked) {
for ( var i = 0; i < delchksNode.length; i++) {
delchksNode[i].checked = "checked";
}
} else {
for ( var i = 0; i < delchksNode.length; i++) {
delchksNode[i].checked = null;
}
}
}


var pagesHtmlNode = getNode("pages");
var empsHtmlNode = getNode("emps");


//从服务器端 传递过了xml数据  在这里解析
//第一步:创建xmlHttpRequest对象
var xmlHttp = createXMLHttpRequest();
var btnNode = getNode("btn");


btnNode.onclick = function() {
//清空
clearNodes(empsHtmlNode);


xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
//获取 xmlDocument
var xmlDoc = xmlHttp.responseXML;
//获取跟标签
var rootNode = xmlDoc.documentElement;
//获取 xml文件中 emp 的所有的元素节点
var emps = xmlDoc.getElementsByTagName("emp"); //emp id="xxx"
//获取 emp 节点里边所有的孩子节点
for ( var i = 0; i < emps.length; i++) {
//得到一个具体的emp:
var empNode = emps[i];
//为emp创建一行 
var tr = document.createElement("tr");
//创建序号的 td
var td1 = document.createElement("td");
td1.appendChild(document.createTextNode(emps[i]
.getAttribute("id")));
tr.appendChild(td1);


var elementNodes = empNode.childNodes; //name ,sex ,age
for ( var j = 0; j < elementNodes.length; j++) {


//节点是否是元素节点 
if (elementNodes[j].nodeType == 1) {
var td2 = document.createElement("td");
td2
.appendChild(document
.createTextNode(elementNodes[j].firstChild.nodeValue));
tr.appendChild(td2);
}
}


var delchk = document.createElement("input");
delchk.setAttribute("type", "checkbox");
delchk.setAttribute("name", "delchk");
delchk.setAttribute("value", emps[i]
.getAttribute("id"));
tr.appendChild(delchk);
empsHtmlNode.appendChild(tr);


}


//调用分页创建分页相关的node节点对象
pagesNode(pagesHtmlNode, rootNode);
}
}


}


//第二步:规定请求参数
xmlHttp.open("GET", "./employeeServlet?timeStamp="
+ new Date().getTime(), true);
//第三步:发送请求
xmlHttp.send(null);


}


}


//添加分页实现的节点
function pagesNode(pagesHtmlNode, rootNode) {
//获取当前页
var nowPage = rootNode.getAttribute("nowPage");
//获取总页数
var countPage = rootNode.getAttribute("countPage");
//获取总记录数
var countSize = rootNode.getAttribute("countSize");


var MsgNode = document.createTextNode("当前是" + nowPage + "页,总共"
+ countPage + "页,共" + countSize + "记录");
//清空方法
clearNodes(pagesHtmlNode);
var firstPage = document.createElement("a");
firstPage.setAttribute("href", "#");
firstPage.appendChild(document.createTextNode("首页"));


firstPage.onclick = function() {
nowPage = 1;
//查询 当前页信息
getPagesInfo(nowPage);
}


pagesHtmlNode.appendChild(firstPage);


var backPage = document.createElement("a");
backPage.setAttribute("href", "#");
backPage.appendChild(document.createTextNode("上一页"));


backPage.onclick = function() {
nowPage = eval(nowPage + "-" + 1);
if (nowPage <= 1) {
nowPage = 1;
}


// //查询 当前页信息
getPagesInfo(nowPage);
}


pagesHtmlNode.appendChild(backPage);


var nextPage = document.createElement("a");
nextPage.setAttribute("href", "#");
nextPage.appendChild(document.createTextNode("下一页"));


nextPage.onclick = function() {


nowPage = eval(nowPage + "+" + 1);


if (nowPage >= countPage) {
nowPage = countPage;
}


//查询 当前页信息
getPagesInfo(nowPage);
}


pagesHtmlNode.appendChild(nextPage);


var lastPage = document.createElement("a");
lastPage.setAttribute("href", "#");
lastPage.appendChild(document.createTextNode("末页"));


lastPage.onclick = function() {
nowPage = countPage;
//查询 当前页信息
getPagesInfo(nowPage);
}


pagesHtmlNode.appendChild(lastPage);


pagesHtmlNode.appendChild(MsgNode);
}


//清空操作
function clearNodes(node) {
var lens = node.childNodes.length;
for ( var i = 0; i < lens; i++) {
node.removeChild(node.childNodes[0]);
}
}


function getNode(id) {
return document.getElementById(id);
}


//创建xmlHttpRequest对象
//ajax  XMLHttpRequest对象
function createXMLHttpRequest() {
var xmlHttp;
try {
//firefox opera 等 非 IE的浏览器中
xmlHttp = new XMLHttpRequest();
} catch (ex) {
try {
//IE浏览器
xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}


}


return xmlHttp;
}


//分页代码
function getPagesInfo(nowPage) {


//修改chksHtmlNode 为 默认值
var chksHtmlNode = getNode("chk");
chksHtmlNode.checked = null;


var pagesHtmlNode = getNode("pages");
var empsHtmlNode = getNode("emps");


//从服务器端 传递过了xml数据  在这里解析
//第一步:创建xmlHttpRequest对象
var xmlHttp = createXMLHttpRequest();


//清空
clearNodes(empsHtmlNode);


xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
//获取 xmlDocument
var xmlDoc = xmlHttp.responseXML;
//获取跟标签
var rootNode = xmlDoc.documentElement;
//获取 xml文件中 emp 的所有的元素节点
var emps = xmlDoc.getElementsByTagName("emp"); //emp id="xxx"
//获取 emp 节点里边所有的孩子节点
for ( var i = 0; i < emps.length; i++) {
//得到一个具体的emp:
var empNode = emps[i];
//为emp创建一行 
var tr = document.createElement("tr");
//创建序号的 td
var td1 = document.createElement("td");
td1.appendChild(document.createTextNode(emps[i]
.getAttribute("id")));
tr.appendChild(td1);


var elementNodes = empNode.childNodes; //name ,sex ,age
for ( var j = 0; j < elementNodes.length; j++) {


//节点是否是元素节点 
if (elementNodes[j].nodeType == 1) {
var td2 = document.createElement("td");
td2
.appendChild(document
.createTextNode(elementNodes[j].firstChild.nodeValue));
tr.appendChild(td2);
}
}


var delchk = document.createElement("input");
delchk.setAttribute("type", "checkbox");
delchk.setAttribute("name", "delchk");
delchk
.setAttribute("value", emps[i]
.getAttribute("id"));
tr.appendChild(delchk);
empsHtmlNode.appendChild(tr);
empsHtmlNode.appendChild(tr);


}


//调用分页创建分页相关的node节点对象
pagesNode(pagesHtmlNode, rootNode);
}
}
}


//第二步:规定请求参数
xmlHttp.open("GET", "./employeeServlet?nowPage=" + nowPage
+ "&timeStamp=" + new Date().getTime(), true);
//第三步:发送请求
xmlHttp.send(null);


}
//-->
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值