Java Web中的分頁顯示——通過介面實現

來源:互聯網
上載者:User

在介面完成分頁控制,也就是在迴圈顯示的時候進行控制。通常顯示資訊的代碼是通過<c:forEach>控制的,所以需要在<c:forEach>中控制,只顯示滿足條件的記錄。<c:forEach>標籤提供了兩個屬性begin和end可以控制集合中的記錄從什麼地方開始顯示以及顯示到什麼地方結束。

另外在分頁控制的時候需要得到總的頁數,而總的頁數是由總的記錄數決定的,所以需要在處理檔案中添加一個方法得到總頁數。

要在介面上完成分頁控制,需要兩步:

  • 修改處理檔案,添加擷取頁數的方法,並且傳遞當前頁數和總頁數,通常通過request傳遞。
  • 修改顯示檔案,添加頁碼控制的代碼(上一頁、下一頁、最後一頁和第一頁等的控制),以及控制資訊示的代碼。

處理檔案中添加一個方法即可,並且傳遞當前頁數和總頁數即可,下面主要介紹JSP頁面如何處理,假設當前頁面是findAllUser。

 要添加到第1頁的超連結,可以使用下面的代碼:

      <a href="findAllUser?pageNo="1">第一頁</a>

findAllUser後面的問號表示要傳遞參數,pageNo是參數的名字,1是參數的值,通過這種方式傳遞值與通過表單提交資訊的方式的效果完全相同,相當於有一個表單元素,表單元素的名字是pageNo,表單元素的值是1。

要添加到上一頁的超連結,可以使用下面的代碼:

      <a href="findAllUser?pageNo=${pageNo-1}">上一頁</a>

要添加到下一頁的超連結,可以使用下面的代碼:

      <a href="findAllUser?pageNo=${pageNo+1}">下一頁</a>

要添加到最後一頁的超連結,可以使用下面的代碼:

      <a href="findAllUser?pageNo=${pageCount}">最後一頁</a>

如果當前頁是第一頁,則不用顯示“第一頁”和“首頁”超鏈,如果是最後一頁,則不用顯示“尾頁”和“下一頁”超鏈。對這兩種情況需要控制,進行控制的代碼如下:

   <!--如果是第一頁,則不顯示超連結-->

   <c:if test="${pageNo==1}">

      第一頁

      上一頁

   </c:if>

   <!--如果不是第一頁,則顯示超連結-->

   <c:if test="${pageNo!=1}">

      <a href="findAllUser?pageNo=1">第一頁</a>

      <a href="findAllUser?pageNo=${pageNo-1}">上一頁</a>

   </c:if>

   <!--如果是最後一頁,則不顯示超連結-->

   <c:if test="${pageNo==pageCount}">

      下一頁

      最後一頁

   </c:if>

   <!--如果不是第一頁,則顯示超連結-->

   <c:if test="${pageNo!=pageCount}">

      <a href="findAllUser?pageNo=${pageNo+1}">下一頁</a>

      <a href="findAllUser?pageNo=${pageCount}">最後一頁</a>

   </c:if>

 

   <form action="findAllUser">

     跳轉到<input type="text" name="pageNo">頁<input type="submit" value="跳轉">

   </form>

在顯示資訊的時候,需要進行控制,只要為<c:forEach>添加begin和end屬性即可,控制的代碼如下:

   <c:forEach items="${userlist}" var="user" begin="${(pageNo-1)*10}"

       end="${pageNo*10}">

另外需要添加一個能夠輸入頁碼的輸入框,就是一個簡單的表單。代碼如下:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.