友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

JSP入门教程(DOC格式)-第19部分

快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!


       }  

       if  (pageNo 《 1) {  

           pageNo = 1;  

       }  

       request。setAttribute(〃pageNo〃; pageNo);  



       这里 pageNo 代表当前的页码,如果没有传递 pageNo 参数,默认显示第一 

       页,为此我们在解析 request 中参数时要捕获对应的异常,如果没有输入 

       或者参数不是一个数字时 pageNo 就还是等于 1。  



       rs = state。executeQuery(〃select limit 〃 + (pageNo * 5 5) + 〃 5  

       * from bean〃);  



       这里我们拼了一个 sql 语句,用来从 (pageNo * 5 5)开始查询五个记录, 

       这条 sql 语句是 hsqldb 数据库特有的分页语句。  



       (pageNo * 5 5)用来计算 pageNo 这页第一条记录的行号,如果是第一 

       页 pageNo = 1,pageNo * 5 5 = 0。这里的行号跟咱们平常使用的数 

       组索引一样,0 代表第一个条记录,这样我们第一页就会显示 0;1;2;3;4 

       五条记录。如果是第二页 pageNo = 2,pageNo * 5 5 = 5,我们就会 

       在第二页看到 5;6;7;8;9 五条记录。这样正好与我们预期的一致。  



       rs = state。executeQuery(〃select count(*) from bean〃);  



       最后记得要获得数据库中一共有几条记录,我们要用它来计算一共要分几 

       页。  



       计算方法是 count / 5 + 1,比如现在有 39 条记录,39 / 5 + 1 = 8, 

       一共分 8 页。  



                                     135 / 148  


…………………………………………………………Page 136……………………………………………………………

                                         



经过 BeanServlet。java 的处理,request 里有三个变量,list 保存当前页面显 

示的结果,pageNo 代表当前页码,count 代表数据库中一共有多少条记录,这三 

个变量会在 query。jsp 中作为原始数据显示最终的结果。  



              

  

                  

                      

                      

                      

                  

  

                  

                    没有数据  

                  

  

                



循环显示 list 中当前页面的数据并不是新鲜事物,我们只是判断了 list 是否存 

在,list 里是否有数据,如果这两个条件不符合,就显示“没有数据”作为提 

示。  



下面是重头戏了,仔细研究一下如何使用 pageNo (当前页码)和count (数据总 

数)显示出分页工具栏,虽然只是进行简单的四则运算,但要是平常不注意训练 

算法,想一次写好也不容易。  



分页栏部分的代码如下:  



          

  

            '第一页'  

            '上一页'  

  

            '第一页'  

            '上一 

页'  

  

  

  

  

            '下一页'  

            '最后一页'  

  

            '下一 

页'  

            '最后一 

页'  

  

              



                                          137 / 148  


…………………………………………………………Page 138……………………………………………………………

                                            



                  

  

  

                  

                  

              

          



首先我们从 request 中取得pageNo (当前页码)和count (数据总数)两个变量, 

为了下面计算简便先用它俩计算出总页数 int pageCount = count / 5 + 1; 。  



    if  (pageNo == 1) {  

%》  

            '第一页'  

            '上一页'  

  

            '第一页'  

            '上一 

页'  

   



这段代码生成“'第一页' '上一页'”,如果pageNo == 1 说明当前页已经是第 

一页了,这时既不需要'第一页'这个链接,也不需要'上一页'了。对应的“'下 

一页' '最后一页'”处理方法与之类似,只是判断条件要写成pageNo ==  

pageCount,判断是否已经是最后一页了。  



  

   



中间页码部分直接使用循环就能输出来,循环从 i = 1 开始直到 i 
返回目录 上一页 下一页 回到顶部 0 0
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!