【学习摘记】马士兵bbs初级版_课时16-20_平板式展现与分页

【课时16 & 17】show_article_flat_1——实战演示:利用sql命令行调试sql语句


1、创建ShowArticleFlat.jsp,并copy与其功能最像的tree的代码

2、删掉tree的递归显示函数。

【反馈】

这一次,我本能地模仿着之前“先用静态string承载所有数据、再直接全部显示出来”的方法。结果发现,老师用了另外一种,“一边取、一边显示”的【next循环与tr交替】的方法。也罢,两个最终我都实现了。而且,在老师动手之前先动手试试,会让你在听的时候更有针对性。

 

【重温反馈】

所谓的“一边取、一边显示”的另一种写法,原来在最初版本就有~其实就是,在从数据库取的时候,不取全部,而是“有节制地取”,但是,展示的时候,就可以轻松的展示了。

 

【引入分页】


如果主题帖多了,一页显示的话查找效率会很低。

尝试用分页进行操作,每页3条记录,有“上一页”“下一页”的链接。

一点思考:

可以把所有主题帖进行编号:1、2、3、…,把页面也进行编号:1、2、3…

然后根据页码显示对应的主题帖

比如页码1——1-3,页码2——4-6


3、分页框架的实现:定义pageSize、pageNo,修改sql语句即可




【后续思考】

当地址栏中的pageNo=-1时,程序会报错。怎么完善?


4、提高健壮性:pageNo的范围:【1,totalPages】之间的数字





【反馈】

这个模块笔记的书写,我遵从“先搭好框架、再填充细节”的思路。


5、各种分页的实现

你今后就是写再高级的程序,对不起,离不开分页。

多种多样的分页方法,我希望你都能掌握。


前一页、后一页


【后续思考】

首页、尾页的链接好做,那页码的滚动条呢?


页码滚动条

测试用:





滚动条与当下一致




页码输入框




【附】Html显示出错排查:检查源代码



【语录】

1、没问题、很健壮、搞不死他~一般不太容易搞死他现在。

2、name等于……当然是pageNumber~

3、nbsp、nbsp、nbsp……搞定~