jsp實現上一頁下一頁翻頁功能

来源:http://www.cnblogs.com/wuguanglin/archive/2017/07/14/fanye.html
-Advertisement-
Play Games

前段時間一直忙於期末考試和找實習,好久沒寫博客了。 這段時間做了個小項目,包含了翻頁和富文本編輯器Ueditor的兩個知識點,Ueditor玩的還不是很深,打算玩深後再寫篇博客。 要實現翻頁功能,只需要設置一個pageIndex即可,然後每次載入頁面時通過pageIndex去載入數據就行。 那麼我們 ...


前段時間一直忙於期末考試和找實習,好久沒寫博客了。

這段時間做了個小項目,包含了翻頁和富文本編輯器Ueditor的兩個知識點,Ueditor玩的還不是很深,打算玩深後再寫篇博客。

要實現翻頁功能,只需要設置一個pageIndex即可,然後每次載入頁面時通過pageIndex去載入數據就行。

那麼我們可以設置一個隱藏的input框,用於傳遞pageIndex給下個頁面。

當我們點擊上一頁的時候,通過js方法改變pageIndex的值,再提交表單即可

二話不多說,看代碼,代碼裡面寫的還算比較清楚。

這個是index.jsp的代碼。

index.jsp

<%@page import="Bean.DBBean"%>
<%@page import="Entity.Record"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NoteBook of Eric Wu</title>
    <link rel="stylesheet" href="css/basic.css">
    <link rel="stylesheet" href="css/index.css">
</head>
<body>
<%
    int allRecord=0;//總的記錄條數,不包含查詢後的
    int totalRecord=0;//總的記錄條數,包含查詢後的
    int totalPage=1;//總的頁面數,包含查詢後的
    int pageIndex=1;//當前頁面號,用於控制頁面翻轉,預設為1
    List<Record> records=null;
    DBBean db=new DBBean();
    allRecord=db.getRecordCount();
    totalRecord=db.getRecordCount();
    totalPage=(totalRecord-1)/10+1;
    if(request.getParameter("pageIndex")!=null){//不是第一次載入
        //要做下數據類型轉換
        pageIndex=Integer.valueOf(request.getParameter("pageIndex"));
        if(request.getParameter("keyword")!=null){
            String keyword=request.getParameter("keyword");
            records=db.getRecords(pageIndex,keyword);//獲取查詢內容一頁的事件記錄集,共10條
            totalRecord=db.getRecordCount(keyword);
            totalPage=(totalRecord-1)/10+1;
        }else{
            records=db.getRecords(pageIndex);//獲取一頁的事件記錄集,共10條
        }
    }else{//第一次載入
        records=db.getRecords(pageIndex);//獲取一頁的事件記錄集,共10條
    }
    session.setAttribute("records", records);//便於後面使用
%>
    <div id="home">
    <div id="header">
        <div id="WebTitle">
            <div class="maintitle"><a href="index.jsp" target="_blank">NoteBook of Eric Wu</a></div>
            <div class="subtitle">The palest ink is better than the best memory !</div>
        </div>

        <div id="navigator">
            <ul id="navList">
                <li><a href="index.jsp">首頁</a></li>
                <li><a href="add.jsp">新增</a></li>
                <li><a href="change.jsp">修改</a></li>
                   <li><a href="delete.jsp">刪除</a></li>
            </ul>
            <div id="Stats">
                記錄-<%=allRecord %>
            </div><!--end: Stats 狀態-->
        </div><!-- end: navigator 導航欄 -->
    </div><!-- end: header 頭部 -->
    
    <div id="main">
           <div id="content">
               <form id="searchForm" name="searchForm" action="index.jsp"  method="get">
                   <input type="hidden" name="pageIndex" id="pageIndex"  value="1">
                <div id="search">
                    <div class="center"></div>
                    <input type="text" class="search" id="keyword" name="keyword" placeholder="請輸入要查詢的記錄">
                    <img src="img/search.png" onclick="searchKeyword();" class="button">
                </div>
            </form>
               <table>
                <tr>
                    <th width="10%">序號</th>
                    <th width="60%">標題</th>
                    <th width="30%">時間</th>
                </tr>
                <%
                    int count=0;
                    if(records!=null){
                        for(Record r: records){
                            count++;
                %>
                <tr>
                    <td class="center"><%= count %></td>
                    <td><a href="content.jsp?recordId=<%= r.getId() %>"  target="_blank"><%= r.getTitle() %></a></td>
                    <td class="center"><%= r.getTime() %></td>
                </tr>
                <%    
                        }
                    }
                %>
                 <tr class="alt" >
                    <td class="center" colspan="3"><%= totalRecord %>條記錄&nbsp;&nbsp;&nbsp;<%= totalPage %>&nbsp;&nbsp;&nbsp;
                        每頁10條&nbsp;&nbsp;&nbsp;
                        當前第<%= pageIndex %>&nbsp;&nbsp;&nbsp;
                        <a href="javascript:void(0);" class="turnPage" onclick="turnTopPage()">上一頁</a>&nbsp;&nbsp;&nbsp;
                        <a href="javascript:void(0);" class="turnPage" onclick="turnBottomPage()">下一頁</a>&nbsp;&nbsp;&nbsp;
                    </td>
                </tr>
               </table>
        </div><!-- end: content 內容 -->
    </div><!-- end: main 主要部分 -->

    <div id="footer">     
        Copyright &copy;2017 汕大-吳廣林
    </div><!-- end: footer底部-->
    </div><!-- end: home 自定義的最大容器 -->
</body>

<script type="text/javascript">
    var pageIndex=<%=pageIndex %>;
    var totalPage=<%=totalPage %>;
    console.log(pageIndex);
    //上一頁
    function turnTopPage(){
        if(pageIndex==1){
            return;
        }else{
            document.getElementById("pageIndex").value=pageIndex-1;
            document.getElementById("searchForm").submit();
        }
    }
    //下一頁
    function turnBottomPage(){
        if(pageIndex>=totalPage){    
            return;
           }else{
           document.getElementById("pageIndex").value=pageIndex+1;
           document.getElementById("searchForm").submit();
           }
    }
    function searchKeyword(){
        document.getElementById("pageIndex").value=1;
        document.getElementById("searchForm").submit();
    }
</script>
</html>

效果圖

翻頁後:pageIndex=1

翻頁後:pageIndex=2

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 對於限制了ip和來源的網站,使用正常的採集方式是不行的。本文將介紹一種方法,使用php的curl類實現模擬ip和來源,實現採集限制ip和來源的網站。 1.設置頁面限制ip和來源訪問 server.php <?php $client_ip = getip(); $referer = getrefere ...
  • java在jdk1.5中引入了註解,spring框架也正好把java註解發揮得淋漓盡致。 下麵會講解Spring中自定義註解的簡單流程,其中會涉及到spring框架中的AOP(面向切麵編程)相關概念。 不清楚java註解的,可以先瞭解java自定義註解: "Java自定義註解" 一、創建自定義註解 ...
  • if(!empty($_FILES["fileField"]["name"])){//檢測表單傳遞文件數據 $fileinfo = $_FILES["fileField"]; if($fileinfo['size'] < 10000000 && $fileinfo['size'] > 0){//大小 ...
  • 發現一批好文,完整系列,攢~~ 隨筆分類 - DDD - 『聖傑』 DDD理論學習系列(1)-- 通用語言 DDD理論學習系列(2)-- 領域 蒙 2017-07-13 09:24 周四 ...
  • 方法一: 雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進數組 方法二:利用splice直接在原數組進行操作 雙層迴圈,外層迴圈元素,內層迴圈時比較值 值相同時,則刪去這個值 註意點:刪除元素之後,需要將數組的長度也減1. 優點:簡單易懂缺點:占用記憶體高,速度慢 方 ...
  • 代碼如下: ...
  • Math Math.trunc() 取出一個小數的小數部分,返回整數部分 Math.trunc(1.239); //1 Math.trunc( 3,1415926); // 2 Math.trunc(3.9); //3 對於空值和無法截取整數的值,返回NaN Math.trunc("a"); //N ...
  • 前面的話 Robots協議(也稱為爬蟲協議、機器人協議等)全稱是“網路爬蟲排除標準”(Robots Exclusion Protocol),網站通過Robots協議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。本文將詳細介紹爬蟲協議robots 概述 robots.txt文件是一個文本文件,是搜索 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...