晨魅--分页

来源:互联网 发布:淘宝拍下显示系统错误 编辑:程序博客网 时间:2024/05/17 01:56

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

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