Jsp中的分頁技巧

//1.數據源  獲得商品信息集合
		List<ProductEntity> list = pd.queryAllProduct();
		
		//2.數據總行數
		int maxNum = list.size();
		
		//3.每頁的數量
		int pageNum = 3;
		
		//4.總頁數
		int pageCount = maxNum/pageNum;
		if( maxNum % pageNum != 0){
			pageCount = maxNum/pageNum+1 ;
		}
		//獲得操作類型
		String step = request.getParameter("step");
		
		String cPage = request.getParameter("currentPage");
		//5.當前頁數
		int currentPage = 1;//默認爲第一頁
		if(null != cPage){
			currentPage = Integer.parseInt(cPage);
		}
		
		if(step != null){
			if("start".equals(step)){//首頁
				currentPage = 1;
			}else if("-1".equals(step)){//上一頁
				currentPage -= 1;
				if(currentPage<=0){//如果小於0就跳到首頁
					currentPage = 1;
				}
			}else if("1".equals(step)){//下一頁
				currentPage += 1;
				if(currentPage > pageCount){//如果大於總頁數就跳到尾頁
					currentPage = pageCount;
				}
			}else if("end".equals(step)){//尾頁
				currentPage = pageCount;
			}
			
		}
		//6.起始下標
		int startIndex = (currentPage-1)*pageNum;
		
		//7.結束下標
		int endIndex = currentPage*pageNum-1;
		if(endIndex >  maxNum){
			endIndex = maxNum-1;
		}
		//8.截取每一頁的數據
		List<ProductEntity> sublist = list.subList(startIndex, endIndex+1);
		
		//數據綁定到request上去
		request.setAttribute("querySub", sublist);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章