jsp利用自定义标签制作精美的分页标签

本文介绍了如何使用JSP自定义标签来创建两种不同样式分页,当页数小于等于9时显示所有页码,大于9时根据当前页位置展示不同分页布局。代码详细展示了分页的逻辑和样式设计,包括跳转和当前页高亮功能。
摘要由CSDN通过智能技术生成

思想:当查出来的数据很多时(例如:超过10万),采用精简的默认的样式,也就是指只显示首尾页上一页 和下一页。当总页数不大于9页时,把所有的具体页码以按钮形式显示出来,页码按钮如果等于当前则显于背景色。当总页数大于9页,分页样式以另外的样式显示,当当前页小于3页或大于等于后两页时,显示前六页的按钮和后两页按钮,其他情况显示前两页和后两页按钮,中间显示当前页码的和它后5页的页码,并且支持页码跳转,废话不多说,献上部分实现代码;

    //跳转的样式

String tiao="<form style=\"display:inline;color:gray;\"action="+url+" method=\"get\">"

+ "&nbsp;&nbsp;&nbsp;&nbsp;"

+ "<input name=\"curpage\" type=\"text\" style=\"width:30px;\"/>"

+ "<input type=\"hidden\"name=\"pagesize\" value="+pagesize+">"

+ "&nbsp;<input style=\"font-weight:bold;\"type=\"submit\" value=\"跳转\"/>"

+ "</form>";

//简单的样式,默认样式

String all=first+pre+next+last

+"<span>"+curpage+"/"

+sumPage+"一共有"+total+"条记录"

+"</span>"+tiao;

//样式一,如果总页数不大于9页,则输出所有页数

String allPage="";

if(sumPage<=9){

allPage = bindAllPage(1,pattern, sumPage,sumPage, allPage);

all=pre+allPage+next

+"<span>"+"当前第"+curpage+"页"+"/"

+"共"+sumPage+"页"+"&nbsp;&nbsp;&nbsp;共"+total+"条记录"

+"</span>"+tiao;

}else{//样式二,当总页数大于9时显示

//第一、第二页

String one=bindAllPage(1,pattern, 2,sumPage, allPage);

//最后一页和倒数第一页

String floot=bindAllPage(sumPage-1,pattern, sumPage,sumPage, allPage);

if(curpage>2&&curpage<=sumPage-2){//当当前页小于后两页大于前两页时

allPage = bindAllPage(curpage,pattern, curpage+5,sumPage-2, allPage);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值