JAVA实现分页(前台页面+后台代码)

来源:互联网 发布:报考网络教育要多少钱 编辑:程序博客网 时间:2024/05/21 21:42

JAVA分页

  • 先上图吧,大致如图,也就提供个思路(ps:使用了SSH框架)
    这里写图片描述

  • 然后这是例子的下载链接(此例子也可以作为SSH框架的例子)
    http://download.csdn.net/detail/dknightl/9785779


前台JSP页面

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@taglib prefix="s" uri="/struts-tags"%>      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head>    <title>数据交易猫</title>     <script type="text/javascript">       //1分页下,动态添加disable给分页按钮    /*    $(function(){        var myPageId="#"+$("#hidCurrentPage").val();        var myPageAId="#"+$("#hidCurrentPage").val()+" a";        $(myPageAId).addClass('main-bgcolor');        $(myPageAId).attr('href','javascript:void(0)')        $(myPageId).addClass('disabled');        $(myPageId).addClass('disabledControl');    })    */    //    $(function(){    })    //根据页数查询数据列表    function queryRequirListByPage(i) {        var pageNo=i;        var sortValue=$('#hidSortValue').val();        $.ajax({            url:'${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action',            type:'POST',            data:{                sortValue:sortValue,                pageNo:pageNo            },            success:function(datas){                 $('#requireContentDiv').html(datas);                                                   },            error:function(){                alert("失败");            },            });    }    //根据下拉查询数据列表    function selectPage(obj){        var pageNo=obj.options[obj.selectedIndex].value;        var sortValue=$('#hidSortValue').val();        $.ajax({            url:'${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action',            type:'POST',            data:{                sortValue:sortValue,                pageNo:pageNo            },            success:function(datas){                 $('#requireContentDiv').html(datas);                                                   },            error:function(){                alert("失败");            },            });        }    //根据下拉选择排序方式    function selectSort(obj){        var sortValue = obj.options[obj.selectedIndex].value;        var pageNo =1;        $.ajax({            url:'${pageContext.request.contextPath}/bid/reAction_queryRequirListByPage.action',            type:'POST',            data:{sortValue:sortValue,                  pageNo:pageNo                },            success:function(datas){                 $('#requireContentDiv').html(datas);            },            error:function(){                alert("失败");            },            });        }        $(document).ready(function(){            var backSortValue=$('#backSortValue').val();            console.log("backSortValue"+backSortValue)            $("#category option").each(function(){                var thisId='#'+this.id;                var thisValue=this.value;                if(backSortValue==thisValue){                    $(thisId).attr('selected','selected');                }            });        })    </script>   </head><body>                <!-- 内容-->                <div  class="well">                <!-- 标题-->                    <div class="box"><h3><span class="glyphicon glyphicon-list" ></span>需求列表</h3></div>                <!-- 筛选条件-->                        <div class="box">                        <div class="row">                            <div class="col-xs-12">                                                               <span>筛选:按</span>                                    <select id="category" name="category" onchange="selectSort(this)">                                        <option id="categoryTime" value="publishDatetime">最新</option>                                        <option id="categoryPrice"  value="price">价格降序</option>                                        <input id="backSortValue" type="hidden" value="${sortValue}">                                    </select>                                    <hr class="mrgZero mrgTopSma"/>                            </div>                        </div>                    </div>                                  <!-- 内容-->                        <input type="hidden" name="hidCurrentPage2" id="hidCurrentPage" value="${currentPage}">                        <input type="hidden" id="hidAllPage" value="${allPage}">                        <input type="hidden" id="hidSortValue" value="${sortValue}">                        <s:iterator value="#requiList">                        <div class="data-down-box">                            <div class="row">                                <div class="col-xs-12">                                    <h4 class="ellipsis"><a href="${pageContext.request.contextPath}/bid/bidAction_queryById?id=${id}" onclick="reward()">${title}</a></h4>                                </div>                                                                                                                              </div>                            <div class="row mrgTopSma">                                <div class="col-xs-12 ">                                                            <p class="data-provider padLeftBig sec-color ellipsis">悬赏积分:<span>${price}</span></p>                                    <p class="data-intro padLeftBig ellipsis sec-color">需求描述:<span>${requirementDescription}</span></p>                                </div>                                          </div>                            <hr/>                               </div>                        </s:iterator>                    <!-- 分页 -->                    <div id="rePagerDiv" class="rePagerDiv box">                        <nav>                          <ul class="pager">                              <!-- 判断当前页是否位1,如果不为1则显示上一页, -->                                 <s:if test="1 == #currentPage">                                   </s:if>                              <s:else>                                <li>                                          <a href="javascript:void(0)" aria-label="Previous" onclick="queryRequirListByPage(${currentPage-1})">                                    <span aria-hidden="true">&laquo;</span>                                  </a>                                </li>                                   </s:else>                            <!-- 首页 -->                                                          <li><a href="javascript:void(0)" onclick="queryRequirListByPage(1)">首页</a></li>                            <li>                                <span><span class="main-color">${currentPage}</span>/&nbsp;${allPage}页</span>                                                          </li>                            <!-- 尾页 -->                                                          <li><a href="javascript:void(0)" onclick="queryRequirListByPage(${allPage})">尾页</a></li>                            <!-- 判断当前页和总页数,小于则显示下一页, -->                                <s:if test="#currentPage < #allPage">                                <li>                                  <a href="javascript:void(0)" aria-label="Next" onclick="queryRequirListByPage(${currentPage+1})">                                    <span aria-hidden="true">&raquo;</span>                                  </a>                                </li>                            </s:if>                            <li>                               <span class="skipPageSpan">跳转到第&nbsp;                                <select onchange="selectPage(this)">                                    <s:iterator var="lst" begin="1" end="#allPage"  step="1">                                                                               <s:if test="%{#lst == #currentPage}">                                            <option selected="selected" value="<s:property/>" ><s:property/></option>                                               </s:if>                                          <s:else>                                                <option value="<s:property/>" ><s:property/></option>                                          </s:else>                                    </s:iterator>                                                                                                             </select>                               &nbsp;页                               </span>                             </li>                          </ul>                        </nav>                    </div>                                       </div>                         <hr/> </body></html>

action

    //查询需求列表    public String queryRequirListByPage(){        int pageSize=5;//每页记录        String hql="select r from Requirement r where r.reStatus !=2  ";        if(sortValue == null || sortValue.length() <= 0){            hql=hql+"order by r.publishDatetime desc";            ActionContext.getContext().put("sortValue", "publishDatetime"); //当前页码条件            session.put("sessionReqSortValue","publishDatetime");        }else{        hql=hql+"order by r."+sortValue+" desc";            ActionContext.getContext().put("sortValue", sortValue); //当前页码条件            session.put("sessionReqSortValue",sortValue);        }        long icount=requirementService.countAllRe();//总记录数        long allPage;//总页数        //判断是否能整除,能则直接,不能则+1;        if((icount%pageSize)==0){            allPage=icount/pageSize;        }        else{            allPage=(icount/pageSize)+1;        }        System.out.println("总记录:"+icount+";总页数:"+allPage+";当前页码:"+pageNo);        List<Requirement> requiList=requirementService.queryByPage(hql, pageNo, pageSize);        ActionContext.getContext().put("requiList", requiList);//需求列表        ActionContext.getContext().put("icount", icount);//总记录数        ActionContext.getContext().put("allPage", allPage);//总页数        ActionContext.getContext().put("currentPage", pageNo);  //当前页码        session.put("sessionCurrentPage", pageNo);        return "requireContent";    }

service

        public long countAllRe() {        return requirementDao.countAllRe();    }        public List<T> queryByPage(String hql, int pageNo, int pageSize) {        return requirementDao.queryByPage(hql, pageNo, pageSize);    }

dao

    //这里可能会报错,就是直接查询数据列表(使用了SSH)    public long countAll() {        List<?> l = getSession().createQuery("select count(*) from "                + clazz.getSimpleName()).list();        if (l != null && l.size() == 1 )        {            return (Long)l.get(0);        }        return 0;    }    public List<T> queryByPage(String hql, int pageNo, int pageSize) {        return getSession()                .createQuery(hql)                .setFirstResult((pageNo - 1) * pageSize)                .setMaxResults(pageSize)                .list();    }
0 0
原创粉丝点击