小說分頁

1.建立pageBean

//封裝了某一頁的所有信息

public class PageBean {

//當(dāng)前為第幾頁

private int pageNo=1;

//總的記錄數(shù)

private int totalRecoreds;

//每頁顯示的記錄條數(shù)

private int pageSize=5;

//總頁數(shù)

private int totalPages;

//當(dāng)前頁的數(shù)據(jù)

private List<novel> NovelList = new ArrayList<novel>();

public int getTotalRecoreds() {

return totalRecoreds;

}

public void setTotalRecoreds(int totalRecoreds) {

this.totalRecoreds = totalRecoreds;

}

public int getPageSize() {

return pageSize;

}

public void setPageSize(int pageSize) {

this.pageSize = pageSize;

}

public int getTotalPages() {

if(totalRecoreds%5==0){

return totalRecoreds/5;

}else{

return totalRecoreds/5+1;

}

}

public void setTotalPages(int totalPages) {

this.totalPages = totalPages;

}

public List<novel> getNovelList() {

return NovelList;

}

public void setNovelList(List<novel> novelList) {

NovelList = novelList;

}

public int getPageNo() {

return pageNo;

}

public void setPageNo(int pageNo) {

this.pageNo = pageNo;

}

//首頁

public int getTopPage(){

return 1;

}

//上一頁

public int getPreviousPage(){

if(pageNo<=1){

return 1;

}else{

return pageNo-1;

}

}

//下一頁

public int getNextPage(){

if(pageNo>=getTotalPages()){

return getTotalPages();

}else{

return pageNo+1;

}

}

//尾頁

public int getLastPage(){

return getTotalPages();

}

}


2.建立兩個查詢語句

//獲取指定頁的章節(jié)

public List<novel> findNovelByPageNo(int pageNo);

//查詢總記錄數(shù)

public int queryTotalRecoreds(int NovelId);


3.在service書寫方法

? req.setCharacterEncoding("utf-8");

//設(shè)置響應(yīng)編碼格式

resp.setContentType("text/html;charset=utf-8");

//獲取請求信息

//處理請求信息

DBCService db = new DBCServiceImpl();

//響應(yīng)處理結(jié)果

if(req.getParameter("pageNo")==null){

List<novel> no = db.findNovelByPageNo(1);//查詢第一頁列表

//查詢總的記錄數(shù)

int totalRecoreds = db.queryTotalRecoreds(1);

System.out.println(totalRecoreds);

//構(gòu)造pageModel

PageBean pb = new PageBean();

pb.setNovelList(no);

pb.setTotalRecoreds(totalRecoreds);

pb.setPageNo(1);

req.setAttribute("page", pb);

req.setAttribute("lu", no);

System.out.println("hhh");

req.getRequestDispatcher("/index.jsp").forward(req, resp);}

else{

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

List<novel> no = db.findNovelByPageNo(pageNo);//查詢第一頁列表

//查詢總的記錄數(shù)

int totalRecoreds = db.queryTotalRecoreds(1);

System.out.println(totalRecoreds);

//構(gòu)造pageModel

PageBean pb = new PageBean();

pb.setNovelList(no);

pb.setTotalRecoreds(totalRecoreds);

pb.setPageNo(pageNo);

req.setAttribute("page", pb);

req.setAttribute("lu", no);

System.out.println("hhh");

req.getRequestDispatcher("/index.jsp").forward(req, resp);

}

// Iterator<novel> it = no.iterator();

// while(it.hasNext()){

// lu.add(it.next());

// }

}


4.在index.jsp頁面書寫顯示語句

<table align="center" width="800px" border="1">

<c:forEach items="${page.novelList }" var="str">

<tr>

<td>${str.fictionChapter }</td>

</tr>

</c:forEach>

<tr>

<td>

<button><a href="Ajax?pageNo=${page.topPage }">首頁</a></button>

<button onclick="previousPage();">上一頁</button>

<button><a href="Ajax?pageNo=${page.nextPage} ">下一頁</a></button>

<label>當(dāng)前${page.pageNo }頁</label>

<label>總共${page.totalPages }頁</label>

</td>

</tr>

</table>


頁面跳轉(zhuǎn) window.location.href="stuServlet?param=list&pageNo=${requestScope.pageModel.pageNo+1}"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容