jquery分页插件jquery.pagination.js与springmvc整合
来源:互联网 发布:mac上wine怎么用 编辑:程序博客网 时间:2024/06/08 14:08
jquery.pagination.js插件可以很方便的实现分页效果,并且不需要你编写页码,该插件会自动根据总条数去生成页码,并且每个页码都会有相应的功能。这里插件中的内容我就不重复讲解了,已经有许多大侠讲解。注意:如果你的项目资源是使用maven倒过来的,那你一定要看一下插件内容中的 opts.callback(current_page, this);是否被注释掉了,如果注释掉的话需要你解注释,否则回调函数会出问题。
该插件实现分页需要两个主要的方法,第一个为计算数据库中的总条数,第二个为分页方法。所以整合也就是根据这两个方法来进行相应的调用。步骤如下:
整合步骤:
1、在controller中实现查询数据库中总条数的方法,该方法为ajax调用
@ResponseBody
@RequestMapping("/pageCount")
public Integer pageCount(){
try {
int pageCount = infoBuyService.calculatePageCount();
return pageCount;
} catch (Exception e) {
log.debug("ERROR:/infoBuy/pageCount",e);
}
return null;
}
2、页面上进行ajax调用该方法
//计算总页数
function calculate(){
var pageCount = 0;//总页数,需要在Calculate方法中为其赋值
$.ajax({
type:"GET",
dataType:"text",
async:false,//为js的全局变量赋值,如果设置为true则会赋值不成功
url:path+"/infoBuy/pageCount",
success:function(data){
pageCount = data;
}
});
return pageCount;
}
此处的path的为javascript的全局变量: var path = "${pageContext.request.contextPath}";//绝对路径
URL中/infoBuy为controller上面的@Controller
@RequestMapping("/infoBuy")
public class InfoBuyController {........}
3、编写分页代码,此方法也为ajax调用,返回一个页面,然后再把页面添加到相应的区域中
@RequestMapping(value="/listPage",method = RequestMethod.GET)
public String listPage(Model model,Integer pageIndex,Integer pageSize){
try {
List<InfoBuyDto> allInfoBuyDto = infoBuyService.infoBuyPage(pageIndex, pageSize);
model.addAttribute("list",allInfoBuyDto);
return "/infoBuy/infoBuy";//根据视图解析器解析到infoBuy.jsp,在infoBuy.jsp页面进行数据的展示
} catch (Exception e) {
log.debug("ERROR:/infoBuy/listPage",e);
}
return null;
}
pageIndex:为当前的页码,pageSize:为每页显示多少条
4、页面上调用分页方法
//请求数据
function InitTable(pageIndex) {
$.ajax({
type: "GET",
dataType: "text",
url: path+"/infoBuy/listPage", //提交到一般处理程序请求数据
data: "pageIndex=" + (pageIndex + 1) + "&pageSize=" + pageSize, //提交两个参数:pageIndex(页面索引),pageSize(显示条数)
success: function (data) {
$("#list").empty();
$("#list").html(data);
}
});//ajax结尾
}//请求数据结尾
list为该页面上的div的id,用于把controller返回页面加载到该div中。
5、在页面初始化页码的数据
//页码初始数据
function initPagination(){
//分页相关配置
$("#pagination").pagination(calculate(), {
callback: PageCallback,
prev_text: '上一页', //上一页按钮里text
next_text: '下一页', //下一页按钮里text
items_per_page: pageSize, //显示条数
num_display_entries: 6, //连续分页主体部分分页条目数
current_page: pageIndex, //当前页索引
num_edge_entries: 2 //两侧首尾分页条目数
});
};
//翻页调用
function PageCallback(index , jq) {
InitTable(index);
}
initPagination();//初始化页码
InitTable(0);
pagination为页码显示的div的id,如下代码所示:
<!-- 求购信息显示位置 -->
<div id="list"></div>
<!-- 分页显示位置 -->
<div id="pagination" style="text-align:center;" class="pagination" ></div>
在页面上需要定义三个全局变量,path为一个, var pageIndex = 0; //页面索引初始值
var pageSize = 3; //每页显示条数初始化,修改显示条数,修改这里即可
在controller中调用service的方法,这里就不在给大家编写了。
infoBuy.jsp页面代码
这里就不给大家截效果图了,如有什么需要的请私信我,看到后会给大家回复的,谢谢
- jquery分页插件jquery.pagination.js与springmvc整合
- 分页插件jquery.pagination.js
- jQuery分页插件jquery.pagination.js使用
- jQuery 分页插件 pagination
- 分页插件-jquery.pagination
- jquery.pagination.js分页插件的运用
- jquery.pagination.js分页插件的运用
- jquery分页插件pagination.js的使用
- jquery.pagination.js分页
- jquery.pagination.js分页
- jquery.pagination.js分页
- jquery.pagination.js分页
- jquery.pagination.js分页
- jquery.pagination.js分页
- jquery.pagination.js分页
- jQuery分页插件(jQuery Pagination)
- 实用jQuery分页特效插件jquery.pagination.js
- spring mvc整合jquery pagination插件,实现无刷新分页
- 12步教你理解Python装饰器
- java代理模式的实现方式
- Linux笔记(45)——计划任务之Crontab
- equal() 与hashcode()之我理解
- 通过java.net.URLConnection发送HTTP请求的方法
- jquery分页插件jquery.pagination.js与springmvc整合
- hibernate中Restrictions用法
- Linux命令之程序(二)
- 关于Android在线直播问题的讨论与研究
- Storm_Storm主要特点
- 我的2015年
- openGL之雾效果---openGL学习笔记(十二)
- 利用反射打开系统的通知栏STATUS_BAR
- 高效、稳定、可复用——手机淘宝主会场框架详解