用Ajax实现分页和删除(二)
来源:互联网 发布:淘宝网投诉卖家电话 编辑:程序博客网 时间:2024/05/17 21:48
在能够遍历显示出数据库中的所有信息之后,下面就开始在jsp页面中实现分页了
//添加分页实现的节点
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 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);
}
此时的servlet与之前的相比,其实就是多传了几个参数
在for循环的前面加上要传递的参数
out.println("<?xmlversion=\"1.0\" encoding=\"UTF-8\"?>");
//在emps跟标签中就把 当前页 总记录数 总页数 传递过去了
out.println("<empsnowPage='"+page.getNowPage()+"'countSize='"+page.getCountSize()+"'countPage='"+page.getCountPage()+"'>");
for(inti=0;i<emps.size();i++){
Employeeemp = emps.get(i);
out.println("<empid='"+emp.getId()+"'>");
out.println("<name>"+emp.getHrName()+"</name>");
out.println("<sex>"+emp.getHrSex()+"</sex>");
out.println("<age>"+emp.getHrAge()+"</age>");
out.println("<birth>"+emp.getHrBirth()+"</birth>");
out.println("<salary>"+emp.getHrSalary()+"</salary>");
out.println("</emp>");
}
out.println("</emps>");
当然在传递参数之前还要先获取并判断一下
Stringnowpage=request.getParameter("nowPage");
System.out.println("========"+nowpage);
intnowPage=1;
if(nowpage==null){
nowPage=1;
}else{
nowPage=Integer.parseInt(nowpage);
}
- 用Ajax实现分页和删除(二)
- 用Ajax实现分页和删除(一)
- 用Ajax实现分页和删除(三)
- 用ajax实现分页 删除功能(二)
- Ajax实现分页二
- 用Ajax实现分页和删除操作的jsp页面源代码
- 用ajax实现分页 删除功能(一)
- 用ajax实现分页 删除功能(三)
- SSM框架 用ajax实现模糊查询分页和列表
- 基于SSH2和Ajax的分页实现
- AJAX和三层架构实现分页功能
- AJAX(二)---局部刷新实现分页效果的实现
- 根据ajax发送数据,从servelt中读取xml数据并显示,实现查询、删除和分页
- 用Gridview和AspNetPager控件实现真分页(二)
- Ajax实现添加、修改和删除提示
- .net+oracle 实现分页 和 菜单 (二)
- 用Ajax实现无刷新分页类
- 用Ajax实现页面的分页原理
- 如何利用javascript得到系统当前时间(含有格式的)
- 数据库设计原则
- 用Ajax实现分页和删除(一)
- JavaScript DOM
- 自定义ProgressBar的Spinner图片
- 用Ajax实现分页和删除(二)
- 人生的成熟,从不抱怨开始
- 用Ajax实现分页和删除(三)
- C#中的扩展方法
- Windows 下安装项目管理工具 Redmine
- 快捷操作更方便的使用Fedora 1
- iPhone开发中的多语言化
- C#设计模式之13——代理模式
- 【直线划分+逆序数】ZOJ 3574