亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP分頁顯示的實例代碼

2020-07-27 21:38:38
字體:
來源:轉載
供稿:網友

1、mysql的limit關鍵字 (DAO)

select * from tablename limit startPoint, numberPerPage;

tablename 就是要分頁顯示的那張表的名稱;

startPoint 就是起始的位置 -1;

numberPerPage 就是一頁顯示的條數。

例如: select * from comment limit 20,5;

則是從comment表中抽取21~25號評論:

2、jQuery load函數 (頁面JS)

MySQL的limit關鍵字可以完成抽取一定范圍(n,n+m]的記錄,也就是說需要兩個參數來決定某一頁顯示的內容,即“第x頁”以及每頁顯示的個數。

每頁顯示的個數可以在程序中設定,也可以由用戶設定。但,“第x頁”這個參數一定是用戶給出的。當用戶點擊頁數、下一頁/上一頁按鈕或跳轉至某頁時,需要將這個“第x頁”參數傳送給服務器,以便進行記錄的抽取。

復制代碼 代碼如下:

function goToPage(page){

  $('body').load("getComments.do?page=" + page);

}


或者,兩個參數都由用戶指定的話,函數可以寫成:
復制代碼 代碼如下:

function goToPage(page, numberPerPage){

  $('body').load("getComments.do?page=" + page + "&npp=" + numberPerPage);

}

3、servlet接收參數并組織內容 (servlet文件)

servlet通過接受jsp頁面傳來的request對象中的page和npp參數來獲悉用戶希望瀏覽第X頁,以及一頁顯示多少條記錄。

復制代碼 代碼如下:

int page = Integer.parseInt(req.getParameter("page"));

4、servlet計算顯示的頁數列表

一般一次顯示10頁左右,也就是假如現在在第52頁,那么可選的頁數列表就是50、51、52。。。直到60.

計算的方法是,假設現在處于x頁,那么起始值為x/10*10,前提是x>10。寫成代碼就是:

復制代碼 代碼如下:

int start = 1;
if(page >= 10){
  start = page/10 * 10;
 }

有兩個特殊情況:

① 總共的頁數不足10個

② 頁數不是10的整倍數

這樣會出現頁數列表小于10的情況,也很容易處理,加if條件判斷一下就好了。大致的代碼如下:

復制代碼 代碼如下:

int total = sm.getCommentCount();
int totalPage = total/itemsPerPage;
if(total % itemsPerPage != 0){
    totalPage += 1;
}
Vector<Integer> pageArr = new Vector<Integer>();
int start = 1;
if(page >= 10){
     start = page/10 * 10;
 }
int num = start;
while(!(num > totalPage || num > start + 10)){
     pageArr.add(new Integer(num));
    ++num;
}

5、在jsp頁面顯示頁數列表

通過4我們得到了一個計算后的頁數列表pageArr,該列表說明針對當前頁,我們應該展現哪些頁數讓用戶可以直接點擊。在servlet中將剛才的pageArr列表放入response對象中,同時放入page(當前頁數)以及totalPage(最大頁數)以幫助我們做一些判斷。

復制代碼 代碼如下:

<!-- 上一頁 按鈕 -->
<div id="pageControl">
<c:choose>
<c:when test="${page != 1}">
<a href="checkComments.do?page=${page-1}"><input type="button" name="lastPage" value="上一頁" /></a>
</c:when>
<c:otherwise>
<input type="button" disabled="true" name="lastPage" value="上一頁" /><!-- 為了要那個灰掉的button -->
</c:otherwise>
</c:choose>

<!-- 頁數列表 -->
<c:forEach items="${pageList}" var="item">
<c:choose>
<c:when test="${item == page}">
<a href="checkComments.do?page=${item}" class="currentPage">${item}</a>
</c:when>
<c:otherwise>
<a href="checkComments.do?page=${item}">${item}</a>
</c:otherwise>
</c:choose>
</c:forEach>

<!-- 下一頁 按鈕 -->
<c:choose>
<c:when test="${page != totalPages}">
<a href="checkComments.do?page=${page+1}">
<input type="button" name="nextPage" value="下一頁" />
</a>
</c:when>
<c:otherwise>
<input type="button" disabled=true name="nextPage" value="下一頁" /><!-- 為了要那個灰掉的button -->
</c:otherwise>
</c:choose>

<!-- 直接跳轉 -->
共${totalPages}頁 -向<input type="text" id="jumpTo" />頁 <input type="button" value="跳轉" onclick="jumpTo(${totalPages})" />
</div>

使用到的js函數

復制代碼 代碼如下:

function jumpTo(maxPage){
    var page = $("#jumpTo").val();
    if(page > maxPage || page < 1){
        alert("對不起,無法到達該頁")
    }else{
        $('body').load('checkComments.do?page=' + page);
    }
}


6、CSS增強效果

為了凸顯我們現在所在的頁數,在上面的代碼中我們特意做了判斷:

復制代碼 代碼如下:

<c:when test="${item == page}">
<a href="checkComments.do?page=${item}" class="currentPage">${item}</a>
</c:when>

這樣,當前的頁數就會被標記為currentPage類,如此一來,就可以在CSS文件中著重強調它了。比如:
復制代碼 代碼如下:

.currentPage{
    font-weight:bold;
    color:#ff9a00;
}

或者再設置以下跳轉頁輸入框的寬度
復制代碼 代碼如下:

#jumpTo{
width:20px;
}

這樣,當前頁的頁面就會被標記為粗體、橘色:

7、改進

用a標簽的方法做鏈接雖然比較方便,不過會有下劃線出現,感覺很不洋氣??梢杂胏ss把它消除掉,或者hover時候加一些變化什么的。

復制代碼 代碼如下:

#pageControl a {
    text-decoration:none;
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲女人被黑人巨大进入al| 国产精品网站入口| 成人精品aaaa网站| 久久免费视频网站| 亚洲欧美中文日韩在线v日本| 亚洲一区二区三区在线视频| 国产精品久久久久av免费| 欧美极品美女电影一区| 亚洲视频在线播放| 98精品国产自产在线观看| 午夜精品一区二区三区视频免费看| 深夜精品寂寞黄网站在线观看| 色久欧美在线视频观看| 亚洲字幕一区二区| 成人免费网站在线| 在线国产精品播放| 91精品久久久久久久久中文字幕| 国产精品美女在线| 精品偷拍一区二区三区在线看| 欧美成人午夜影院| 亚洲精品电影在线观看| 欧美成人第一页| 日韩中文av在线| 亚洲三级黄色在线观看| 日韩av黄色在线观看| 亚洲视频自拍偷拍| 欧美疯狂做受xxxx高潮| 日本在线精品视频| 亚洲欧美另类在线观看| 欧美小视频在线| 国产精品美女无圣光视频| 九九热精品在线| 亚洲aa在线观看| 另类美女黄大片| 亚洲激情国产精品| 欧美日韩在线免费观看| 97在线视频精品| 一级做a爰片久久毛片美女图片| 国产精品久久久久9999| 欧美精品免费在线观看| 国产成+人+综合+亚洲欧美丁香花| 欧美一区二区.| 国产专区精品视频| 欧美天天综合色影久久精品| 丰满岳妇乱一区二区三区| 午夜精品一区二区三区视频免费看| 国产精品色婷婷视频| 国产大片精品免费永久看nba| 97精品一区二区视频在线观看| 国产亚洲欧美日韩美女| 在线视频免费一区二区| 国产精品999| 亚洲电影免费观看高清完整版在线观看| 色妞一区二区三区| 久久99热精品这里久久精品| 国产日韩欧美成人| 精品毛片三在线观看| 在线日韩中文字幕| 2019精品视频| 欧美激情一级精品国产| 亚洲自拍偷拍色片视频| 日韩中文字幕免费视频| 91成人天堂久久成人| 久久久成人的性感天堂| 国产精品美女www| 久久精品久久精品亚洲人| 97精品国产97久久久久久| 欧美成年人网站| 日韩欧美aⅴ综合网站发布| 国产亚洲欧美另类中文| 欧美极品少妇xxxxⅹ免费视频| 国产精品欧美亚洲777777| 亚洲淫片在线视频| 影音先锋欧美精品| 亚洲精品在线91| 69**夜色精品国产69乱| 亚洲系列中文字幕| 国产精品久久久久久久久借妻| 久久91精品国产91久久跳| 97超碰蝌蚪网人人做人人爽| 亚洲r级在线观看| 91色在线视频| 日本成人激情视频| 亚洲第一福利网站| 亚洲视频第一页| 欧美精品午夜视频| 色无极亚洲影院| 亚洲理论在线a中文字幕| 日韩精品视频免费在线观看| 国产偷国产偷亚洲清高网站| 欧美猛交ⅹxxx乱大交视频| 欧美大片免费观看在线观看网站推荐| 国产精品人人做人人爽| 97视频在线观看免费高清完整版在线观看| 免费成人高清视频| 亚洲a区在线视频| 4438全国亚洲精品在线观看视频| 91在线色戒在线| 欧美色欧美亚洲高清在线视频| 亚洲综合最新在线| 日韩中文字幕视频| 久久久欧美精品| 欧美一级在线亚洲天堂| 91精品国产乱码久久久久久久久| 日韩精品中文字幕在线观看| 日本一区二三区好的精华液| 狠狠躁夜夜躁人人爽超碰91| 久久久精品亚洲| 亚洲第一区第二区| 欧美高跟鞋交xxxxxhd| 成人美女免费网站视频| 亚洲人成网站色ww在线| 久久久久久亚洲| 国产精品午夜一区二区欲梦| 亚洲欧美制服第一页| 亚洲人成网7777777国产| 精品伊人久久97| 91精品国产高清自在线看超| 91免费欧美精品| 日本久久久久久久| 国产精品国产三级国产aⅴ浪潮| 中文字幕av一区二区| 国产精品成人v| 日韩av成人在线| 久久影视免费观看| 中日韩美女免费视频网址在线观看| 久久综合伊人77777| 日韩在线观看网址| 亚洲一区二区三区视频| 精品视频一区在线视频| 91国产精品91| 国产成人av在线| 亚洲嫩模很污视频| 亚洲一区美女视频在线观看免费| 日韩欧美黄色动漫| 国产精品高清在线观看| 欧美成人中文字幕在线| 国产午夜精品久久久| 久久精品国产v日韩v亚洲| 青草热久免费精品视频| 中文字幕日韩欧美精品在线观看| 日韩男女性生活视频| 国产精品麻豆va在线播放| 亚洲综合一区二区不卡| 国产精品激情自拍| 日韩美女主播视频| 国产性色av一区二区| 亚洲欧美色婷婷| 国产成人精品综合| 国产欧美欧洲在线观看| 国产精品香蕉在线观看| 国产精品com| 成人久久久久久久| 欧美中文字幕在线| 日韩精品电影网| 播播国产欧美激情| 久久久久久久网站| 国产精品一区二区三区久久| 91黄色8090| 国产成+人+综合+亚洲欧美丁香花| 欧美激情亚洲综合一区| 欧美激情xxxx| 日韩精品免费看| 国产精品久久久久久影视|