友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
狗狗书籍 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

JSP入门教程(DOC格式)-第35章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




就是我们看到的 1;2;3;4;5;6;7;8。既然pageNo 是从 1 开始算的,我们这里就 

也从 i = 1 起步了。如果在 i == pageNo 的时候,说明这是当前页,不需要链接, 

再加上一个 class=〃currentPage〃突出显示。  



              

                  

  

  

                  

                  

              



这个 select 下拉选择框的实现与上面相似,循环一下,遇到 i == pageNo 的时 

候就输出一个 selected 默认显示到 select 里,在选中想跳转的页码,点击下面 

的 go 按钮提交,跳转的效果也前面的超链接相同。  



范例在 15…01。  



15。2。 使用 jstl 改写分页  



jsp 的代码让人眼晕,我们现在把分页中所有的 jsp 代码都换成 jstl 标签,这 

些我们要导入三个标签:core;fmt;functions。  



  

  

  

          



                                      139 / 148  


…………………………………………………………Page 140……………………………………………………………

                                       



其中 core 提供循环标签(forEach)和判断标签(if),fmt 为我们格式化日期, 

functions 可以判断 list 的长度。  



使用它们,下面显示记录结果的代码最终变成这幅模样。  



              

  

    

                  

                    {item。id}  

                    {item。title}  

                      

                  

  

  

                  

                    没有数据  

                  

  

              



forEach 用来循环{list}中的内容,把每个元素保存到局部变量 item 中,供下 

面使用。  



fmt:formatDate 是专门用于日期格式化显示的标签,相当于我们刚刚在 jsp 中 

使用的 SimpleDateFormat,pattern 部分设置期望显示的日期格式,最后它就会 

把 value 中的{item。addDate}显示成“2008 年 04…01”的格式。  



c:if 也是一个非常常用的标签,它用来判断 test=〃〃中指定的 el 表达式的真假, 

如果是 true 就执行标签内部的内容,否则就跳过。很难受的是 jstl 中没有 else 

的部分,想实现 else 必须写两次 if 两次 test,很麻烦,但真就是 jsp 的局限。  



fn:length(list)是 functions 标签部分为我们提供的扩展功能,因为 el 表达式 

中不能直接调用变量的方法,需要判断 list 长度的时候无法使用 list。size(), 

只能通过 fn:length(list)走一下弯路了,虽然它的功能十分有限,但也为我们 

提供了一条尽量不写 jsp 的途径,忍忍吧。  



后面分页部分的功能随便帖一下就好,只是循环和判断的组合而已。  



          

  

  

            '第一页'  



                                    140 / 148  


…………………………………………………………Page 141……………………………………………………………

                                            



            '上一页'  

  

  

            '第一页'  

            '上一页'  

  

  

      

            {status。index}  

      

      

            {status。index}  

      

  

  

            '下一页'  

            '最后一页'  

  

  

            '下一页'  

            '最后一 

页'  

  

              

                  

  

                    {status。index}  

  

                  

                  

              

          



这里可以看到 forEach 的另一种用法,begin=〃1〃从 i = 1 开始循环, 

end=〃{pageCount}〃会一直循环到 i 
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!