jsp 頁面分頁超連結代碼實現__js

來源:互聯網
上載者:User

 在大量資料列出時,螢幕不可能完整顯示,這時必須使用分頁,SQL的分頁已經在其他文章討論過,這裡討論的是JSP分業代碼的實現。

頁面傳入參數p作為頁面選擇,無參數預設第一頁。

 

計算頁面分業的基本參數,currentPage為當前頁面,pageRows則設定每頁的行數,在取得totalPage則是總頁數,實際情況根據各位元據情況決定,這裡暫訂4000。

 

分頁參數

  // 預設當前頁面數 0  long currentPage = 0;  // 如果傳入參數p有效則取傳入參數  if (request.getParameter("p") != null)  {    // 取得當前頁面參數    String p = request.getParameter("p");    try    {      // 得到數實值型別的頁面數      currentPage = Long.valueOf(p);    }    catch (Exception e)    {      currentPage = 0;    }  }  // 得到總記錄數(例如取自資料庫)  long total = 4000;  // 設定每頁列出行數  final long pageRows = 19;  // 以當前頁未中心左右列出9個頁面數  final int clickPageList = 9;  // 計算以 pageRows 為行數頁面數量  long pageCount = total % pageRows;  // 如果餘數大於 0 必須在總頁面下 + 1  if (pageCount > 0)  {    // 得到實際頁面數    pageCount = total / pageRows + 1;  }  else  {    pageCount = total / pageRows;  }

 

分頁實現

// 如果頁數有效if (pageCount > 0){  // 為方便操作設定兩個固定的連結  if (currentPage > 0)  {    out.print(String.format("<A href=\"page.jsp?p=%s\" target=_blank>上一頁</A> ", currentPage - 1));  }  else  {    out.print("上一頁");  }  if (currentPage < pageCount - 1)  {    out.print(String.format("<A href=\"page.jsp?p=%s\" target=_blank> 下一頁</A>  ", currentPage + 1));  }  else  {    out.print(" 下一頁");  }  out.print("<a href=\"page.jsp\"> 第1頁</a> ");  String line = "";  // 以當前頁為中心左列出連結  for (long i = currentPage; i >= 0; i--)  {    // 限制左列出數量    if (i < (currentPage - clickPageList))    {      break;    }    line = String.format("<a href=\"page.jsp?p=%s\">%s</a>  ", i, i + 1) + line;  }  out.print(line);  line = "";  // 以當前頁為中心右列出連結  for (long i = currentPage + 1; i <= pageCount - 1; i++)  {    // 限制又列出數量    if (i >= (currentPage + clickPageList))    {      break;    }    line = line + String.format("<a href=\"page.jsp?p=%s\">%s</a>  ", i, i + 1);  }  out.print(line);  line = "";  out.print(String.format("<a href=\"page.jsp?p=%s\">最後一頁</a>", pageCount - 1));}



頁面選取代碼如下: 

示範效果如下,實際使用可以將文本替換成相應的圖片或者CSS樣式,以達到更好的效果

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.