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}"