1.建立pageBean
//封装了某一页的所有信息
public class PageBean {
//当前为第几页
private int pageNo=1;
//总的记录数
private int totalRecoreds;
//每页显示的记录条数
private int pageSize=5;
//总页数
private int totalPages;
//当前页的数据
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.建立两个查询语句
//获取指定页的章节
public List<novel> findNovelByPageNo(int pageNo);
//查询总记录数
public int queryTotalRecoreds(int NovelId);
3.在service书写方法
req.setCharacterEncoding("utf-8");
//设置响应编码格式
resp.setContentType("text/html;charset=utf-8");
//获取请求信息
//处理请求信息
DBCService db = new DBCServiceImpl();
//响应处理结果
if(req.getParameter("pageNo")==null){
List<novel> no = db.findNovelByPageNo(1);//查询第一页列表
//查询总的记录数
int totalRecoreds = db.queryTotalRecoreds(1);
System.out.println(totalRecoreds);
//构造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);//查询第一页列表
//查询总的记录数
int totalRecoreds = db.queryTotalRecoreds(1);
System.out.println(totalRecoreds);
//构造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>当前${page.pageNo }页</label>
<label>总共${page.totalPages }页</label>
</td>
</tr>
</table>
页面跳转 window.location.href="stuServlet?param=list&pageNo=${requestScope.pageModel.pageNo+1}"