private int pageNo;
public int getTopPageNo2() {
pageNo = 1;//在getTopPageNo2()中总是把pageNo的值设置为1
return pageNo;
}
改为:
public int getTopPageNo2() {
return 1;
}
其他不变:
//取得上一页
public int getPreviousPageNo() {
if(pageNo <= 1) {
return 1;
}
return pageNo - 1;
}
//取得下一页
public int getNextPageNo() {
if(pageNo >= getTotalPages()) {
return getTotalPages() == 0 ? 1 : getTotalPages();
}
return pageNo + 1;
}
分析:
1.先是next方向:
能从一跳到二,正常。
二不能到三,是因为pageNo在getTopPageNo2()中被赋予了值1。即使传过来pageNo=2,也是先赋值为1,然后再进行getNextPageNo(),故总是有二跳到二。
2.再是previous方向:
从四直接跳转到一,传递过来的pageNo=4,被赋值为1后,进行getPreviousPageNo(),故总是由四直接跳到1。