pagination.java

来自「一个Ajax演示程序的项目文件」· Java 代码 · 共 149 行

JAVA
149
字号
package com.test.util;

import javax.servlet.http.HttpServletRequest;

/**
 * 
 * @author freeman983 分页对象
 */
public class Pagination {
	private Page page;

	// 篶硑よ猭
	public Pagination(HttpServletRequest request, int total) {
		this(request, total, "", 10);
	}

	public Pagination(HttpServletRequest request, int total, int pageSize) {
		this(request, total, "", pageSize);
	}

	public Pagination(HttpServletRequest request, int total, String pageIndex) {
		this(request, total, pageIndex, 10);
	}

	protected Pagination(HttpServletRequest request, int total,
			String pageIndex, int pageSize) {
		page = new Page();

		page.setPageSize(pageSize);

		page.setTotal(total);

		page.setTotalPage(page.getTotal() / pageSize);
		if (page.getTotal() % pageSize != 0)
			page.setTotalPage(page.getTotalPage() + 1);

		page.setPageNo(Math.min(page.getTotalPage(), page.getPageNo()));
		page.setPageNo(Math.max(1, page.getPageNo()));

		page.setStart((page.getPageNo() - 1) * pageSize);
		if (page.getPageNo() == page.getTotalPage())
			page.setEnd(page.getTotal());
		else
			page.setEnd(page.getStart() + pageSize);

	}

	public int getIntParameter(HttpServletRequest request, String name,
			int defaultVal) {
		try {
			return new Integer(request.getParameter(name)).intValue();
		} catch (Exception ex) {
			return defaultVal;
		}
	}

	public int getPageNo() {
		return page.getPageNo();
	}

	public int getTotal() {
		return page.getTotal();
	}

	public int getTotalPage() {
		return page.getTotalPage();
	}

	public int getPageSize() {
		return page.getPageSize();
	}

	public int getStart() {
		return page.getStart();
	}

	public int getEnd() {
		return page.getEnd();
	}

	/* ず场摸 */
	private class Page {
		private int pageNo;

		private int pageSize;

		private int start;

		private int end;

		private int total;

		private int totalPage;

		private Page() {
			pageNo = 1;

		}

		public int getPageNo() {
			return pageNo;
		}

		public void setPageNo(int pageNo) {
			this.pageNo = pageNo;
		}

		public int getTotal() {
			return total;
		}

		public void setTotal(int total) {
			this.total = total;
		}

		public int getTotalPage() {
			return totalPage;
		}

		public void setTotalPage(int totalPage) {
			this.totalPage = totalPage;
		}

		public int getPageSize() {
			return pageSize;
		}

		public void setPageSize(int pageSize) {
			this.pageSize = pageSize;
		}

		public int getStart() {
			return start;
		}

		public void setStart(int start) {
			this.start = start;
		}

		public int getEnd() {
			return end;
		}

		public void setEnd(int end) {
			this.end = end;
		}
	}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?