⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pages.java

📁 模拟的土豆网视频网站
💻 JAVA
字号:
package cn.myvideosite.web.util;

import java.util.List;
@SuppressWarnings("unchecked")
public class Pages {

	private int totalPages;//总页数
	
	private int currPage = 1;//当前页数,初始为1 默认显示第一页
	
	private int firstRecord = 0;//当前查询起始记录数
	
	private int pageNum = 10;//每页多少条,初始为8
	
	//记录总条数,初始为-1:第一表示从未赋值 即getTotal未调用 ;否则如果 == 0 表示数据库为空,但getTotal 已经被调用;
	//否则 大于0 表示数据库记录大于0 ,getTotal别调用
	private int totalRecord = -1;

	private List dataList;//保存数据库查询结果集
	
	private int listStep = 10;//最多显示分分页页数
	
	private int listBegin;//从第几页开始显示分页信息	
	
	private int listEnd;//分页信息显示到第几页
	
	public Pages() {
		super();
	}
	
	public Pages(int totalRecord) {
		
		setTotalRecord(totalRecord);
	}

	public Pages(int totalRecord,int pageNum) {
		
		setTotalRecord(totalRecord);
		this.pageNum = pageNum;//根据条件改变每页显示条数			
	}
		 
	public Pages(int totalRecord,int pageNum ,int currPage) {
		
		setTotalRecord(totalRecord);				
		this.pageNum = pageNum;//根据条件改变每页显示条数
		this.currPage = currPage;//取得当前页		
	}
	/**
	 * 计算总页数
	 * @return
	 */
	public  void  countPages(){
		
		totalPages = (int) Math.ceil(totalRecord/(double)pageNum);	
		
		if (this.currPage < 1) this.currPage = 1;
		
		else if(this.currPage > this.totalPages) this.currPage = this.totalPages;
		
		firstRecord = (currPage - 1) * this.pageNum;
	}
	
	public int getTotalPages() {
		return totalPages;
	}

	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}

	public int getCurrPage() {
		return currPage;
	}

	public void setCurrPage(int currPage) {
		this.currPage = currPage;
	}

	public int getPageNum() {
		return pageNum;
	}

	public void setPageNum(int pageNum) {
		this.pageNum = pageNum;
	}

	public int getTotalRecord() {
		return totalRecord;
	}

	public void setTotalRecord(int totalRecord) {
		
		this.totalRecord = totalRecord;
		countPages();
	}
	
	public List getDataList() {
		return dataList;
	}

	public void setDataList(List dataList) {
		this.dataList = dataList;
	}

	public int getFirstRecord() {
		return firstRecord;
	}

	public void setFirstRecord(int firstRecord) {
		this.firstRecord = firstRecord;
	}

	public int getListStep() {
		return listStep;
	}

	public void setListStep(int listStep) {
		this.listStep = listStep;
	}

	/**
	 * 取得从第几页开始显示分页的信息
	 * @return
	 */
	public int getListBegin() {
		
	    listBegin = (currPage - (int)Math.ceil((double)listStep /2));				
		if (listBegin < 1){
			listBegin = 1;
		}		
		return listBegin;
	}

	public void setListBegin(int listBegin) {
				
		this.listBegin = listBegin;
	}
    /**
     * 取得分页信息显示到第几页
     * @return
     */
	public int getListEnd() {
		
	    listEnd = currPage + listStep /2;
		if (listEnd > totalPages){
			listEnd = totalPages + 1;
		}		
		return listEnd;
	}

	public void setListEnd(int listEnd) {
		this.listEnd = listEnd;
	}

	/**
	 * 普通方式得到页脚
	 * @return
	 */
	public String getCommPageBar(){
		StringBuffer sb = new StringBuffer();
		
		int prev = currPage - 1;//当前页减一即上一页
		int next = currPage + 1;//当前页加一即下一页
		
		if (prev > 0){
			sb.append("<a href=\"?pages.currPage=1&pages.totalRecord="+totalRecord+"\">首页</a>");//?表示显示当前页面
			sb.append("<a href=\"?pages.currPage="+prev+"&pages.totalRecord="+totalRecord+"\">上一页</a>");
		}
		 //数字分页显示
		if (totalPages < currPage){
			currPage = totalPages; //如果分页变量大于总页数,则将分页变量设计为总页数
		}

		if (currPage < 1){
			currPage = 1;//如果分页变量小于1,则将分页变量设为1
		}	
		
		for(int i = this.getListBegin();i < this.getListEnd() ;i++){
			if (i != currPage){
				sb.append("<a href=\"?pages.currPage="+ i+"&pages.totalRecord="+totalRecord+"\">["+ i+"]</a>");
			}else{
				sb.append("<span style='font-weight:bold;color:#CC0099;'>" + i +"</span>");
			}
		}
		
		if (next <= totalPages){
			sb.append("<a href=\"?pages.currPage="+next+"&pages.totalRecord="+totalRecord+"\">下一页</a>");
			sb.append("<a href=\"?pages.currPage="+totalPages+"&pages.totalRecord="+totalRecord+"\">尾页</a>");
		}
		System.out.println("getCommPageBar = " + "pages.currPage="+currPage+"&pages.totalRecord="+totalRecord+"");
		return sb.toString();
	}

	/**
	 * ajax方式获得页脚
	 * @return
	 */
	public String getPageBar(){
		
		StringBuffer sb = new StringBuffer();
		
		int prev = currPage - 1;//当前页减一即上一页
		int next = currPage + 1;//当前页加一即下一页
		
		if (prev > 0){
			sb.append("<a href=\"javascript:go('pages.currPage=1&pages.totalRecord="+totalRecord+"');\">首页</a>");//?表示显示当前页面
			sb.append("<a href=\"javascript:go('pages.currPage="+prev+"&pages.totalRecord="+totalRecord+"');\"> << </a>");
		}
		 //数字分页显示
		if (totalPages < currPage){
			currPage = totalPages;
		}
		
		if (currPage < 1){
			currPage = 1;
		}
		
		for (int i = this.getListBegin();i < this.getListEnd();i++){
			if (i != currPage){
				sb.append("<a href=\"javascript:go('pages.currPage="+ i+"&pages.totalRecord="+totalRecord+"');\">["+ i +"]</a>");
			}else{
				sb.append("<span style='font-weight:bold;color:#CC0099;'>" + i +"</span>");
			}
		}
		
		if (next <= totalPages){
			sb.append("<a href=\"javascript:go('pages.currPage="+next+"&pages.totalRecord="+totalRecord+"');\"> >> </a>");
			sb.append("<a href=\"javascript:go('pages.currPage="+totalPages+"&pages.totalRecord="+totalRecord+"');\">尾页</a>");
		}
		System.out.println("getPageBar = " + "pages.currPage="+currPage+"&pages.totalRecord="+totalRecord);
		
		return sb.toString();
	}
}

⌨️ 快捷键说明

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