浏览 4463 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-04
最后修改:2010-04-18
分页原理 两部分组成
实现这个功能,需要查询的信息:
1. 总记录数:resultSize
不管是哪种实现,上述信息具备即可。
sql的分页 pageIndex = ( pageIndex -1 ) * pageSize 1. mysql 使用limit
select * from users limit pageIndex, pageSize
2. oracle 使用 rownum
select * from ( select a.*, rownum num from ( select * from users order by name desc) a where rownum <= (pageSize + pageIndex) ) where num >= pageIndex
界面实现 1. 显示页码 jsp
<%@ taglib prefix="display" uri="http://displaytag.sf.net/el" %> <display:table name="userList" pagesize="10" requestURI="user.do" sort ="external" id ="row" partialList ="true" size ="resultSize"> <display:column property ="userid" title ="编号"/> <display:column property ="username" title ="用户名"/> <display:column property ="email" autolink="true" title ="邮箱"/> <display:column title="操作"> <a href="user.do?action=delete&id=<c:out value="${row.userid}"/>">删除</a> </display:column> </display:table>
说明
2. controller (user.do) springmvc
Map model = new HashMap(); //页数的参数名 String pageIndexName = new ParamEncoder("row") .encodeParameterName (org.displaytag.tags.TableTagParameters.PARAMETER_PAGE); // 每页显示的条数 int pageSize = 10; // 当前页 int pageIndex = LotteryUtil.isEmpty(request.getParameter(pageIndexName)) ? 0 : (Integer .parseInt(request.getParameter(pageIndexName)) - 1); //总记录 int resultSize = userService.getAllUserCount(); //显示所有 List<User> userList = userService.getUsers(pageIndex, pageSize); model.put("resultSize", resultSize); model.put("userList", userList); return new ModelAndView("userList", model);
上面是使用springmvc实现的,其他的实现类似 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-04
对于大数据分页有何坏处,可否解释一下,多谢、
|
|
返回顶楼 | |