jsp实现页面分页。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24606505/article/details/78390359

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控制取的个数和取得页面。


猜你喜欢

转载自blog.csdn.net/qq_24606505/article/details/78390359