首先你需要的是建緩睜立一個(gè)瞎改page類

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)永安,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
需要的屬性是當(dāng)前頁(yè),總頁(yè)數(shù),擾神歲總記錄數(shù),每頁(yè)的記錄的數(shù)據(jù)(List),每一個(gè)顯示的記錄數(shù)。
在jsp里面用到的是:
Pager類:
package bit.dlde.marx.util;
import java.math.*;
public class NewPager {
private int totalRows; //總行數(shù)
private int pageSize = 10; //每頁(yè)顯示的行數(shù)
private int currentPage; //當(dāng)前頁(yè)號(hào)
private int totalPages; //頌槐總頁(yè)數(shù)
private int startRow; //喚鉛當(dāng)前頁(yè)在數(shù)據(jù)庫(kù)中的起始行
public NewPager() {
}
/**默認(rèn)每頁(yè)10個(gè)
* @param _totalRows
*/
public NewPager(int _totalRows) {
totalRows = _totalRows;
totalPages=totalRows/pageSize;
// System.out.println("總共的頁(yè)數(shù):"+totalPages);
int mod=totalRows%pageSize;
if(mod0){
totalPages++;
}
currentPage = 1;
startRow = 0;
}
/**可自定義每頁(yè)顯示多少數(shù)
* @param _totalRows
* @param _pageSize
*/
public NewPager(int _totalRows, int _pageSize) {
totalRows = _totalRows;
pageSize = _pageSize;
totalPages = totalRows / pageSize;
// System.out.println("總共野鏈友的頁(yè)數(shù):"+totalPages);
int mod = totalRows % pageSize;
if (mod 0) {
totalPages++;
}
currentPage = 1;
startRow = 0;
}
public void first() {
currentPage = 1;
startRow = 0;
}
public void previous() {
if (currentPage == 1) {
return;
}
currentPage--;
startRow = (currentPage - 1) * pageSize;
}
public void next() {
if (currentPage totalPages) {
currentPage++;
}
startRow = (currentPage - 1) * pageSize;
}
public void last() {
currentPage = totalPages;
startRow = (currentPage - 1) * pageSize;
}
public void refresh(int _currentPage) {
currentPage = _currentPage;
if (currentPage totalPages) {
last();
}
}
public int getStartRow() {
return startRow;
}
public int getTotalPages() {
return totalPages;
}
public int getCurrentPage() {
return currentPage;
}
public int getPageSize() {
return pageSize;
}
public void setTotalRows(int totalRows) {
this.totalRows = totalRows;
}
public void setStartRow(int startRow) {
this.startRow = startRow;
}
public void setTotalPages(int totalPages) {
this.totalPages = totalPages;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalRows() {
return totalRows;
}
}
PageService 類:
package bit.dlde.marx.util;
public class NewPagerService {
/**
* 功能描述:使用默認(rèn)參數(shù)的
* br輸入:
* br輸出:
* br創(chuàng)建日期:Nov 6, 2008
*/
public NewPager getPager(String currentPage,String pagerMethod,int totalRows) {
// 定義pager對(duì)象,用于傳到頁(yè)面
NewPager pager = new NewPager(totalRows);
// System.out.println("執(zhí)行到getPager了");
// 如果當(dāng)前頁(yè)號(hào)為空,表示為首次查詢?cè)擁?yè)
// 如果不為空,則刷新pager對(duì)象,輸入當(dāng)前頁(yè)號(hào)等信息
if (currentPage != null) {
pager.refresh(Integer.parseInt(currentPage));
// System.out.println("確認(rèn)完當(dāng)前的currentPage");
}else{
// currentPage="1";
pager.refresh(1);
}
// 獲取當(dāng)前執(zhí)行的方法,首頁(yè),前一頁(yè),后一頁(yè),尾頁(yè)。
// System.out.println("當(dāng)前要執(zhí)行的頁(yè)面動(dòng)作為:"+pagerMethod);
if (pagerMethod != null) {
if (pagerMethod.equals("first")) {
pager.first();
} else if (pagerMethod.equals("previous")) {
pager.previous();
} else if (pagerMethod.equals("next")) {
pager.next();
} else if (pagerMethod.equals("last")) {
pager.last();
}
}else{
pager.first();
}
return pager;
}
/**
* 功能描述:可自定義每頁(yè)顯示書(shū)目的
* br輸入:
* br輸出:
* br創(chuàng)建日期:Nov 6, 2008
*/
public NewPager getPager(String currentPage,String pagerMethod,int totalRows,int pageSize) {
// 定義pager對(duì)象,用于傳到頁(yè)面
NewPager pager = new NewPager(totalRows,pageSize);
// System.out.println("執(zhí)行到getPager了");
// 如果當(dāng)前頁(yè)號(hào)為空,表示為首次查詢?cè)擁?yè)
// 如果不為空,則刷新pager對(duì)象,輸入當(dāng)前頁(yè)號(hào)等信息
if (currentPage != null) {
pager.refresh(Integer.parseInt(currentPage));
// System.out.println("確認(rèn)完當(dāng)前的currentPage");
}else{
// currentPage="1";
pager.refresh(1);
}
// 獲取當(dāng)前執(zhí)行的方法,首頁(yè),前一頁(yè),后一頁(yè),尾頁(yè)。
// System.out.println("當(dāng)前要執(zhí)行的頁(yè)面動(dòng)作為:"+pagerMethod);
if (pagerMethod != null) {
if (pagerMethod.equals("first")) {
pager.first();
} else if (pagerMethod.equals("previous")) {
pager.previous();
} else if (pagerMethod.equals("next")) {
pager.next();
} else if (pagerMethod.equals("last")) {
pager.last();
}
}else{
pager.first();
}
return pager;
}
}
調(diào)用示例:
/**
* 功能描述:前臺(tái)列表
* br輸入:
* br輸出:
* br創(chuàng)建日期:Nov 6, 2008
*/
public String ExpListForFront() throws Exception {
int totalRow = expServ.getTotalRowsNum();
System.out.println(totalRow+" :totalRow");
pager = pagerService.getPager(this.getCurrentPage(), this
.getPagerMethod(), totalRow,36);//前臺(tái)頁(yè)面一頁(yè)36個(gè)
this.setCurrentPage(String.valueOf(pager.getCurrentPage()));
this.setTotalRows(String.valueOf(totalRow));
availableItems = expServ.getRows(pager.getPageSize(), pager.getStartRow());
System.out.println("準(zhǔn)備顯示專家列表");
ListExperts explistemp = new ArrayListExperts();
for (Experts es : availableItems) {
es.setName(CharacterTrans.trans8859_1ToGBK(es.getName()));
es.setResume(CharacterTrans.trans8859_1ToGBK(es.getResume()));
es.setPhoto(CharacterTrans.trans8859_1ToGBK(es.getPhoto()));
es.setEditor(CharacterTrans.trans8859_1ToGBK(es.getEditor()));
es.getExpertType().setTempname(CharacterTrans.trans8859_1ToGBK(es.getExpertType().getName()));
explistemp.add(es);
}
this.setItEx(explistemp.iterator());
System.out.println("顯示專家列表完畢");
return SUCCESS;
}
頁(yè)面上設(shè)置:
div id="pageflip"
共
s:property value="totalRows" /
行? 第
s:property value="currentPage" /
頁(yè)? 共
s:property value="pager.getTotalPages()" /
頁(yè)?
a
href="s:url value="expListForFront.action"
s:param name="currentPage" value="currentPage"/
s:param name="pagerMethod" value="'first'"/
/s:url"首頁(yè)/a
a
href="s:url value="expListForFront.action"
s:param name="currentPage" value="currentPage"/
s:param name="pagerMethod" value="'previous'"/
/s:url"上一頁(yè)/a
a
href="s:url value="expListForFront.action"
s:param name="currentPage" value="currentPage"/
s:param name="pagerMethod" value="'next'"/
/s:url"下一頁(yè)/a
a
href="s:url value="expListForFront.action"
s:param name="currentPage" value="currentPage"/
s:param name="pagerMethod" value="'last'"/
/s:url"尾頁(yè)/a
/div
有余數(shù)的話不能整除啊,說(shuō)明還要查詢一次才行,只不過(guò)不滿一頁(yè)而已,你自核鎮(zhèn)己打個(gè)比方就知道了,改敗粗很簡(jiǎn)單,比如你有5條數(shù)據(jù),每頁(yè)查詢2條,那么你查詢2次肯定不行,必須的進(jìn)行第三次才能把第五條數(shù)枯判據(jù)拿到
本文標(biāo)題:計(jì)算當(dāng)前頁(yè)的java代碼 如何計(jì)算一個(gè)頁(yè)面的訪問(wèn)時(shí)間
網(wǎng)頁(yè)地址:http://chinadenli.net/article3/dsppeis.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機(jī)、品牌網(wǎng)站制作、定制網(wǎng)站、外貿(mào)建站、小程序開(kāi)發(fā)、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)