ibatis+jquery pager插件分页总结

1:首先说说Ibatis的分页,

 首先我们通过

/**
count 查询结果总是的sql
statement 查询结果集的sql parameter 查询时候需要的参数 pageNo 从页面传进来的第多少页 pageSize 每页展现多少条记录 */ public Page pagedQuery(String count, String statement, Object parameter, int pageNo, int pageSize) { //Assert.isTrue(pageNo >= 1, "pageNo should start from 1"); if (pageNo < 1) pageNo = 1; // 查询总数 Integer totalCount = (Integer) this.getSqlMapClientTemplate() .queryForObject(count, parameter); Assert.notNull(totalCount, "totalCount Error"); if (totalCount == null || totalCount.intValue() == 0) { return new Page(); } List list; int totalPageCount = 0; int startIndex = 0; // 给默认的每页展现多少条记录 if (pageSize <= 0) pageSize = Page.DEFAULT_PAGE_SIZE; // 总页数 totalPageCount = (totalCount / pageSize); totalPageCount += (((totalCount % pageSize) > 0) ? 1 : 0); // 从第几条记录下标开始取值 if (totalPageCount > pageNo) { startIndex = (pageNo - 1) * pageSize; } else { startIndex = (totalPageCount - 1) * pageSize; }     //查询得到结果集 list = getSqlMapClientTemplate().queryForList(statement, parameter, startIndex, pageSize); return new Page(startIndex, totalCount, pageSize, list); }

 页面用jquery pager插件如下代码:

首先引入:
<link href="${ctx}/js/jquery/pager/Pager.css" rel="stylesheet" type="text/css" />
<script src="${ctx}/js/jquery/pager/jquery.pager.js" type="text/javascript"></script>
然后js代码大致如下:
<script type="text/javascript"> //分页传递数据: pageNo当前页数 , totalPageCount 总共的页数这个是后台java代码查询出来的, var pageCount = '${totalPageCount?default(1)}'; var pageNo ='${pageNo?default(1)}'; $(document).ready(function() { if(pageCount > 1){ $("#pager").pager({ pagenumber:pageNo, pagecount: pageCount, buttonClickCallback: PageClick }); } $("#submitId").click(function(){ $("#pageNo").val(1); }); }); PageClick = function(pageclickednumber) { $("#pager").pager({ pagenumber: pageclickednumber, pagecount: pageCount, buttonClickCallback: PageClick }); $("#pageNo").val(pageclickednumber); $('#queryForm').submit(); } </script>

 

posted @ 2013-05-23 15:38  lifeng_study  阅读(387)  评论(0编辑  收藏  举报