分頁邏輯代碼

###實現了以下圖的分頁效果 ###思路:生成哪些頁碼,例如1-6頁,2-7頁,是由後臺控制生成的。 ###假設咱們決定生成的分頁條,上面有 9 個超連接供點擊。 ###而且咱們的分頁信息包含總頁數,當前爲第幾頁等信息,那麼咱們能夠計算生成分頁條頁面。javascript

/**
 * 頁面上的分頁條數據
 * @param tatal 分頁條一共生成幾條頁碼數據供點擊
 * @param pages 一共多少頁數據
 * @param pageNum 當前頁是第幾頁
 */
private List<String> pagesBar(int total, int pages, int pageNum) {
	List<String> list = new ArrayList<String>();
	// 分頁條第一個連接從幾開始
	int start = pageNum - total / 2;
	if (start <= 1) {
		start = 1;
	}
	// 分頁條最後一個連接以幾開始,注意此處減1,不然生成分頁條數據個數大於total
	int end = start + total - 1;
	// 處理一些特殊狀況,如分頁條數據開頭或者末尾處,保證必定會生成 total 條分頁條數據超連接
	if (end > pages) {
		end = pages;
		start = end - total + 1;
		if (start <= 1) {
			start = 1;
		}
	}
	// start end 迭代,一共有 total 條數據
	while (end >= start) {
		list.add(String.valueOf(start));
		start++;
	}
	
	return list;
}

###頁面展示java

<c:forEach items="${pagesBar }" var="page" >
	<a class="page" href="javascript:turnPage('${page}');">${page}</a> 
</c:forEach>
相關文章
相關標籤/搜索