方法一:
1.首先,假设后端已经把分页数据做好
2.在html/jsp界面上增加按钮
<input type="button" id="first" value="首页">
<input type="button" id="before" value="上一页">
<input type="button" id="next" value="下一页">
<input type="button" id="last" value="尾页">
3.接下来在js中添加事件,绑定事件(需要servlet传总页数)
window.onload = function () {
document.getElementById("first").addEventListener("click", goFirst, false);
document.getElementById("next").addEventListener("click", goNext, false);
document.getElementById("before").addEventListener("click", goBefore, false);
document.getElementById("last").addEventListener("click", goLast, false);
if (null == window.sessionStorage.getItem("currentPage")){
window.sessionStorage.setItem("currentPage", "1");
}
window.sessionStorage.setItem("totalPage", "${totalPage}");
};
function goFirst() {
window.sessionStorage.setItem("currentPage","1");
window.location.href = "viewUser?currentPage=1";
};
function goNext() {
if (window.sessionStorage.getItem("currentPage") == window.sessionStorage.getItem("totalPage")){
return;
}
var currentPage = parseInt(window.sessionStorage.getItem("currentPage"));
currentPage = currentPage + 1;
window.sessionStorage.setItem("currentPage", currentPage.toString());
console.log(window.sessionStorage.getItem("currentPage"));
window.location.href = "viewUser?currentPage=" + currentPage.toString();
console.log(currentPage)
};
function goBefore() {
if (window.sessionStorage.getItem("currentPage") == "1"){
return;
}
var currentPage = parseInt(window.sessionStorage.getItem("currentPage"));
currentPage = currentPage - 1;
window.sessionStorage.setItem("currentPage", currentPage.toString());
console.log(window.sessionStorage.getItem("currentPage"));
window.location.href = "viewUser?currentPage=" + currentPage.toString();
};
function goLast() {
console.log(window.sessionStorage.getItem("totalPage"));
window.sessionStorage.setItem("currentPage", window.sessionStorage.getItem("totalPage"));
window.location.href = "viewUser?currentPage=" + window.sessionStorage.getItem("totalPage");
}
4.通知后端开发人员(自己写)给出获取总页数接口
5.在需要用到翻页的时候可以套用
方法二:
1.首先,假设后端已经把分页数据做好
2.在html/jsp界面上增加按钮
<input type="button" id="first" value="首页">
<input type="button" id="before" value="上一页">
<input type="button" id="next" value="下一页">
<input type="button" id="last" value="尾页">
3.在servlet中把页数信息存入到session作用域中
if (request.getRequestURI().contains("viewUser")) {
IUser userdao = (IUser) BeanFactory.getBean(IUser.class);
String currentPage = request.getParameter("currentPage");
if (null==currentPage){
currentPage="1";
}
int totalpage = 0;
//减少对数据库的请求次数
if (request.getSession().getAttribute("totalPage") == null){
totalpage = userdao.getUserTotalPage(5);
request.getSession().setAttribute("totalPage", totalpage);
}
request.getSession().setAttribute("currentPage", currentPage);
List<Users> usersList = userdao.userView(5, Integer.parseInt(currentPage));
request.setAttribute("userList", usersList);
request.getRequestDispatcher("user/viewUsers.jsp").forward(request, response);
}
4.接下来在js中添加事件,绑定事件
//定义全局变量
var currentPage = null;
var totalPage = null;
window.onload = function () {
document.getElementById("first").addEventListener("click", goFirst, false);
document.getElementById("next").addEventListener("click", goNext, false);
document.getElementById("before").addEventListener("click", goBefore, false);
document.getElementById("last").addEventListener("click", goLast, false);
//从session作用域获取页数信息
currentPage = '${sessionScope.currentPage}';
totalPage = '${sessionScope.totalPage}';
};
function goFirst() {
window.location.href = "viewUser?currentPage=1";
};
function goNext() {
//判断是否到了最后一页
if (currentPage == totalPage) {
return;
}
window.location.href = "viewUser?currentPage=" + (parseInt(currentPage) + 1).toString();
};
function goBefore() {
//判断是否是第一页
if (currentPage == "1") {
return;
}
window.location.href = "viewUser?currentPage=" + (parseInt(currentPage) - 1).toString();
};
function goLast() {
window.location.href = "viewUser?currentPage=" + totalPage;
}
5.通知后端开发人员(自己写)给出获取总页数接口
总结:
感觉方法二好一点,代码比较简洁,两种方法区别就是谁来存而已,方法二中servlet把页数信息存到session作用域中还可以在jsp页面中使用
更多推荐
servlet+js实现首页、尾页、下一页、上一页(翻页功能)
发布评论