jsp实现页面分页。

来源:互联网 发布:java中反射method 编辑:程序博客网 时间:2024/05/21 21:48

1、要实现分页,则需要获取3样东西:总页数、当前所在页、页面要显示的list。


2、后台数据获取与处理(这里的话是获取的服务器传来的json数据):


String page = request.getParameter("page");if(page==null){page="1";}String pagesize = request.getParameter("pagesize");if(pagesize==null){pagesize="6";}              int total = (Integer) obj.get("Total");        int nowpage,totalpagecount;//当前在哪一页和总页数        //计算总页数,判断总新闻条数是否为6的倍数,如果是,则总页数为总数除以6,否则是相除取整+1        if(total%6==0){            totalpagecount=total/6;        }else{            totalpagecount = total/6+1;        }        System.out.println(totalpagecount);        nowpage = Integer.valueOf(page);        List<News> newslist=new ArrayList<News>();        for(int i=0;i<json.size();i++){            JSONObject rows=json.getJSONObject(i);            News news=(News)rows.toBean(rows, News.class);            newslist.add(news);        }        request.setAttribute("list", newslist);        request.setAttribute("totalpagecount", totalpagecount);//返回总页数        request.setAttribute("nowpage", nowpage);//返回当前所在页        RequestDispatcher rd = request.getRequestDispatcher("./index/news.jsp");        rd.forward(request, response);

3:jsp页面的分页显示:

<div class="nextpage"><c:if test="${nowpage==1 }"><span class="pre">已到首页</span></c:if><c:if test="${nowpage!=1 }"><span class="pre bbb"><a href="../getNews?page=${nowpage-1 }">上一页</a></span></c:if><c:forEach var="i" begin="1" end="${totalpagecount}" varStatus="listCount"><c:if test="${nowpage==listCount.count }"><a class="nowpagecolor">${listCount.count }</a></c:if><c:if test="${nowpage!=listCount.count }"><a href="../getNews?page=${listCount.count }">${listCount.count }</a></c:if></c:forEach><c:if test="${nowpage==totalpagecount }"><span class="pre">已到尾页</span></c:if><c:if test="${nowpage!=totalpagecount }"><span class="pre"><a href="../getNews?page=${nowpage+1 }">下一页</a></span></c:if></div>

页面上基本是根据当前页判断是否为首页或者尾页,并就行相应的css显示处理,如果要做页面跳转的功能,添加个form提交表单就好了。后台数据处理的方式有多种,看接口怎么返回数据了,如果是直接取数据库中的数据,可以使用limit控制取的个数和取得页面。