晨魅--分页

用html标签写“上一页”和“下一页”按钮,用于点击时生成分页效果。

<div>
 <span>
   <input name="" type="button" οnclick="upPage(this)"  value="上一页" />  刚进来时,让当前页等于1,如果点击过,就让当前页减1
 </span>  
 <span>
   <%for(int i=0;i<pageBean.getIntValue("pageCount");i++){%>
      <a class="alink" src="#" οnclick="jumpPage(this)"><%=i+1%></a> 在handler里获取到总数据条数,有多少条循环出多少a标签,是从零开始计数的,要+1

   <%}%>  
 </span>
 <span>
   <input name="" type="button" οnclick="nextPage(this)"  value="下一页" />
 </span>  
</div>
<input id="startIndex" label="当前页码" name="startIndex" type="hidden" value="<%=pageBean.inputValue("startIndex")%>" size="24" class="text" />  当前页码设隐藏域
写js方法控制按钮

<script>
function nextPage(bt){
	if($("#startIndex").val()==<%=pageBean.getIntValue("pageCount")%>){  //总条数赋给隐藏域,就是最后一页
		$(bt).attr("disabled","disabled");
		alert("当前已经是最后一页!")//最后一页时给出提示
		return;
	}
	$("#startIndex").val(parseInt($("#startIndex").val())+1)//不是最后一页,就做加1操作。
	refresh();
}
function upPage(bt){
	if($("#startIndex").val()==1){
		$(bt).attr("disabled","disabled");
		alert("当前已经是第一页!")//是第一页时给出提示
		return;
	}
	$("#startIndex").val(parseInt($("#startIndex").val())-1)//不是第一页,就做减1操作
	refresh();
}
function jumpPage(object){  获取到所有的a标签
	$("#startIndex").val($(object).text());  获取到a标签的内容,赋给隐藏域
	$(object).css("font-size","80px");  被选中的a标签样式变大
	refresh();  //刷新页面
}
function changePageFontColor(){  得到所有a标签
	$(".alink").each(function(){
	    if($(this).text()==$("#startIndex").val()||$(this).next().text()==$("#startIndex").val()||$(this).prev().text()==$("#startIndex").val()){判断a标签的内容,就是判断上一页,当前页和下一页
	    	if($(this).text()==$("#startIndex").val()){满足上个判断,在判断当前页是否等于隐藏域
	    		$(this).css("font-size","20px"); 等于样式变大
	    	}
	    }else{
	    	$(this).text("");其余页数清空,就是不显示
	    }
	  });
}
changePageFontColor();  都走完后调一次这方法
</script>
在控制成控制分页数据

分页公式:起始值=当前页-1*尾数MySQL里的limit(当前页,尾数(从第几开始,显示多少条)

public void createPage(DataParam param){
    	List<DataRow> rsList = getService().findRecords(param); //查出所有数据
    	int step=5; //每页显示多少条
    	int rsListSize=rsList.size();  //得到数据总数
    	int pageCount=rsListSize/step;  //除以每页显示的条数
    	if(rsListSize%step!=0){ //有余数加一页
    		pageCount++;
    	}
		this.setAttribute("pageCount",pageCount);//一共有多少页handler用法
		request.setAttribute("pageCount", pageCount); //向页面返回有多少页portlet用法
		
		if(StringUtil.isNullOrEmpty(param.get("startIndex"))){//等于空说明是刚进来,就给他put成零,limit从0开始
			param.put("startIndex",0);
			this.setAttribute("startIndex",1);//set到页面上的默认值是1
		}else{
			param.put("startIndex",(param.getInt("startIndex")-1)*step); //当前页不为空就 套用分页公式计算:起始值=当前页-1*尾数,sql:limit 当前页,尾数(从第几开始,显示多少条)
		}
		param.put("step",step);
		rsList= getService().findPageRecords(param);调方法查sql,把显示数step和当前页数startIndex传过去
		request.setAttribute("rsList", rsList);


















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值