创建JavaScript文件
所在工程:atcrowdfunding-admin-1-webui
文件位置:/atcrowdfunding-admin-1-webui/src/main/webapp/script/my-admin.js
// 声明函数封装导航条初始化操作
function initPagination() {
// 声明变量存储总记录数
// var totalRecord = ${requestScope['PAGE-INFO'].total};
// 声明变量存储分页导航条显示时的属性设置
var paginationProperties = {
num_edge_entries : 3, //边缘页数
num_display_entries : 5, //主体页数
callback : pageselectCallback, //回调函数
items_per_page : window.pageSize, //每页显示数据数量,就是pageSize
current_page : (window.pageNum - 1),//当前页页码
prev_text : "上一页", //上一页文本
next_text : "下一页" //下一页文本
};
// 显示分页导航条
$("#Pagination").pagination(window.totalRecord, paginationProperties);
}
// 在每一次点击“上一页”、“下一页”、“页码”时执行这个函数跳转页面
function pageselectCallback(pageIndex,jq) {
// 将全局变量中的pageNum修改为最新值
window.pageNum = pageIndex + 1;
// pageIndex从0开始,pageNum从1开始
// 跳转页面
window.location.href = "http://localhost:8080/atcrowdfunding-admin-1-webui/admin/query/for/search.html?pageNum="+(pageIndex + 1)+"&keyword="+window.keyword;
return false;
}
// 封装执行批量删除的函数
function doBatchRemove(adminIdArray) {
// 将JSON数组转换为JSON字符串
// var a = [1,2,3,4,5]; 数组类型
// var b = "[1,2,3,4,5]"; 字符串类型
// var c = {"userName":"tom"}; 对象类型
// var d = "{\"userName\":\"tom\"}"; 字符串类型
// 发送Ajax请求执行批量删除
var requestBody = JSON.stringify(adminIdArray);
// 发送Ajax请求将adminIdArray发送给handler方法
$.ajax({
"url":"admin/batch/remove.json", // 服务器端接收请求的URL地址
"type":"post", // 设置请求方式为POST
"contentType":"application/json;charset=UTF-8", // 设置请求体内容类型,告诉服务器当前请求体发送的是JSON数据
"data":requestBody, // 请求体真正要发送给服务器的数据
"dataType":"json", // 把服务器端返回的数据当作JSON格式解析
"success":function(response) { // 服务器处理请求成功后执行的函数,响应体以参数形式传入当前函数
console.log(response);
var result = response.result;
if(result == "SUCCESS") {
// 跳转页面
window.location.href = "http://localhost:8080/atcrowdfunding-admin-1-webui/admin/query/for/search.html?pageNum="+window.pageNum+"&keyword="+window.keyword;
}
if(result == "FAILED") {
alert(response.message);
return ;
}
},
"error":function(response) { // 服务器处理请求失败后执行的函数,响应体以参数形式传入当前函数
alert(response.message);
return ;
}
});
}
原本EL表达式处理
EL表达式不能出现在JavaScript文件中,需要额外以参数形式传入,或者全局变量也可以
将pageNum和keyword放在全局变量范围统一维护
目的:让pageNum和keyword实现一处修改,处处生效。需要使用pageNum和keyword值的操作直接从全局变量范围读取即可。
在JSP页面上引入外部JavaScript文件,并初始化全局变量
<script type="text/javascript" src="script/my-admin.js"></script>
// 初始化全局变量
window.totalRecord = ${requestScope['PAGE-INFO'].total};
window.pageSize = ${requestScope['PAGE-INFO'].pageSize};
window.pageNum = ${requestScope['PAGE-INFO'].pageNum};
// 每一次页面最初显示的时候都会把keyword设置为最新值
window.keyword = "${param.keyword}";