DisplayTag展示与Hibernate物理分页(连载2)
接连载1,下面我们来看displaytag.properties属性文件:通过这个文件我们可以进行国际化的工作,这里我们使用resourcebundleedltor插件,这样国际化工作更加方便。 displaytag.properties文件内容如下(部分内容有省略): paging.banner.all_items_found=<span class\="pagebanner">{0} {1} found, displaying all {2}.</span> paging.banner.first=<span class\="pagelinks">[\u9996\u9875/\u4E0A\u4E00\u9875] {0} [<a href\="{3}">\u4E0B\u4E00\u9875</a>/<a href\="{4}">\u672B\u9875</a>]</span> paging.banner.full=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u4E00\u9875</a>] {0} [<a href\="{3}">\u4E0B\u4E00\u9875</a>/<a href\="{4}">\u672B\u9875</a>]</span> paging.banner.last=<span class\="pagelinks">[<a href\="{1}">\u9996\u9875</a>/<a href\="{2}">\u4E0A\u4E00\u9875</a>] {0} [\u4E0B\u4E00\u9875/\u672B\u9875]</span> paging.banner.no_items_found=<span class\="pagebanner">No {0} found.</span> paging.banner.one_item_found=<span class\="pagebanner">One {0} found.</span> paging.banner.onepage=<span class\="pagelinks">{0}</span> paging.banner.page.link=<a href\="{1}" title\="Go to page {0}">{0}</a> paging.banner.page.selected=<strong>{0}</strong>
此文件应放在本项目src文件夹下。
下面采用Hibernate进行大数据的物理分页。 1. 首先我们要编写一个在hibernate编码与struts编码中,都要用到的一个分页工具类:PageUtil类:代码如下(由于页面篇幅所限,有省略): package com.jc.mysql.util;
import java.util.ArrayList; import java.util.List;
public class PageUtil<E> { //查询结果列表 private List<E> list = new ArrayList<E>(); //页号 private int pageNo = 1; //每页记录数 private int pageSize = 10; //总记录数 private int Total = 0; public List getList() { return list; } public void setList(List<E> list) { this.list = list; } public int getPageNo() { return pageNo; } public void setPageNo(int pageNo) { this.pageNo = pageNo; } public int getPageSize() { return (0==pageSize)?10:pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getTotal() { return Total; } public void setTotal(int total) { this. Total = total; } //此方法为根据总记录数与每页记录数,得到总页数 public int getPageTotal() { int pageTotal = (this.getTotal() - 1) / this.getPageSize() + 1; pageTotal = (pageTotal<1)?1:pageTotal; return pageTotal; }
|