java分页
来源:互联网 发布:冰镇西瓜 知乎 编辑:程序博客网 时间:2024/05/01 14:22
PageDTO.java
action设置:
import java.io.Serializable;import java.util.ArrayList;import java.util.List;import lombok.Data;import lombok.EqualsAndHashCode;/** * 分页DTO * * @author jiann * * 2014年3月5日 */@Data@EqualsAndHashCode(callSuper = false)public class PageDTO implements Serializable {private static final long serialVersionUID = 1L;// 中间页数private List<Integer> pages;//当前页private int thisPage;// 上一页private int beforePage;// 下一页private int afterPage;// 首页private int startPage;// 最后一页private int endPage;private String url;public static PageDTO getPageDTO(GridParamDTO param, Long totalCount,Integer showPageCount) {PageDTO pageDto = new PageDTO();// 最大页数int lastPage = (int) Math.ceil((double) totalCount / param.getRows());if (param.getPage() < 1) {param.setPage(1);} else if (param.getPage() > lastPage) {param.setPage(lastPage);}// 页面最多显示页数的最大页int maxPage = param.getPage() + (showPageCount - 2);// 页面最多显示页数的最小页int minPage = 1;// 判断最大页是否大于最后一页if (maxPage >= lastPage) {// 如果当前页数最大页大于最后一页,按照最后一页计算minPage = (param.getPage() - (maxPage - lastPage) - 1) <= 0 ? 1: (param.getPage() - (maxPage - lastPage) - 1);maxPage = lastPage;} else {minPage = (param.getPage() - 1) <= 0 ? 1 : (param.getPage() - 1);maxPage = minPage + (showPageCount - 1);}List<Integer> pages = new ArrayList<Integer>();for (int i = minPage; i <= maxPage; i++) {pages.add(i);}// 上一页int beforePage = param.getPage() - 1;if (beforePage <= 0) {beforePage = 1;}// 下一页int afterPage = param.getPage() + 1;if (afterPage > lastPage) {afterPage = lastPage;}pageDto.setPages(pages);pageDto.setStartPage(1);pageDto.setEndPage(lastPage);pageDto.setBeforePage(beforePage);pageDto.setAfterPage(afterPage);pageDto.setUrl(param.getUrl());pageDto.setThisPage(param.getPage());return pageDto;}}
action设置:
param.setRows(3); param.setSidx("id"); param.setSord("desc"); param.setUrl("/ordering"); if (param.getPage() <= 0) { param.setPage(1); } model.addAttribute("pageDto", PageDTO.getPageDTO(参数, 总条数, 每页显示条数));页面调用page.ftl:
[#ftl]<div class="pages">[#if (pageDto.thisPage)!=(pageDto.startPage)&&(pageDto.thisPage)>0]<a class="psges-step" href="${springpath}${pageDto.url}?page=${pageDto.startPage}">首页</a><a class="psges-step" href="${springpath}${pageDto.url}?page=${pageDto.beforePage}">上一页</a>[#else]<span>首页</span><span>上一页</span>[/#if][#list pageDto.pages as page][#if (pageDto.thisPage)==page]<a class="selected" href="${springpath}${pageDto.url}?page=${page}">${page}</a>[#else]<a href="${springpath}/${pageDto.url}?page=${page}">${page}</a>[/#if][/#list][#if (pageDto.thisPage)!=(pageDto.endPage)]<a class="psges-nest" href="${springpath}${pageDto.url}?page=${pageDto.afterPage}">下一页</a><a class="psges-nest" href="${springpath}${pageDto.url}?page=${pageDto.endPage}">尾页</a>[#else]<span>下一页</span><span>尾页</span>[/#if]</div>
0 0
- java分页
- java分页
- java 分页
- java分页
- java 分页
- java分页
- java 分页
- java 分页
- java分页
- java 分页
- java分页
- Java分页
- Java分页
- java分页
- java 分页
- java分页
- Java分页
- java 分页
- ADF 创建主表子表的先后顺序
- Experience on Namenode backup and restore --- checkpoint......
- 配置Oracle RAC时修改/etc/hosts文件的注意事项
- MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
- asp.net mvc htmlhelper 扩展方法
- java分页
- 关于Hadoop的shuffle
- JAVA正则表达式语法大全
- tomcat开机自启配置
- 文本框默认值 单击后自动消失
- 文件、驱动器相关操作编程笔记
- 缓存
- C++ 截取宽字符串示例
- jq父同辈元素parents等练习