JSP分页代码

来源:互联网 发布:财税软件 编辑:程序博客网 时间:2024/05/29 02:31

最近自己鼓捣做公司网站,所以稍微研究了一下 JSP 的分页方法。大概有两种第一种就是基于 SQL 语句的分页实现方法。第二种是单纯JSP显示分页的办法。

两种办法各有利弊吧。如果网站数据量很小,倒不如直接用JSP分页的办法实现。下边贴上我写的代码。

int pageSize = 1;int pageNow = 1;int pageCount = 0;int rowCount = 0;int startCount = 0;int endCount = 0;ArrayList<News> newsList = new DB().selectNewsList();rowCount = newsList.size();if (null != request.getParameter("pageNow")) {try {pageNow = Integer.parseInt(request.getParameter("pageNow"));} catch (Exception e) {pageNow = 1;}}if (rowCount % pageSize == 0) {pageCount = rowCount / pageSize;} else {pageCount = rowCount / pageSize + 1;}if (pageNow < 1) {pageNow = 1;}if (pageNow >= pageCount) {pageNow = pageCount;}startCount = (pageNow - 1) * pageSize;endCount = startCount + pageSize;if (endCount >= rowCount) {endCount = rowCount;}for (int i = startCount; i < endCount; i++) {String content = newsList.get(i).getDescription();out.print("<li class=\"clearfix\"> <div class=\"news-box\"><div class=\"date\">"+ newsList.get(i).getDate().replaceAll("-", ".")+ "</div><img src="+ newsList.get(i).getImg()+ " width=\"180\" height=\"120\" class=\"pull-left\"/></div>");out.print("<div class=\"txt-news pull-left\"><h4><a href=\"new-post.jsp?id="+ newsList.get(i).getId()+ "\">"+ newsList.get(i).getTitle()+ "</a></h4><p>"+ newsList.get(i).getDescPreview() + "</p></div></li>");}out.print("</ul>");out.print("<ul class=\"pagination\">");if (pageNow == 1) {// 第一页out.print("<li class=\"disabled\"><a href=\"#\">上一页</a></li>");out.print("<li class=\"active\"><a href=\"#\">1</a></li>");out.print("<li class=\"dot\"><a href=\"news.jsp?pageNow=2\">...</a></li>");out.print("<li><a href=\"#\">" + pageCount + "</a></li>");out.print("<li><a href=\"news.jsp?pageNow=" + pageCount+ "\">尾页</a></li>");out.print("<li><a href=\"news.jsp?pageNow=" + (pageNow + 1)+ "\">下一页</a></li>");} else if (pageNow > 1 & pageNow < pageCount) {// 中间页out.print("<li ><a href=\"news.jsp?pageNow=" + (pageNow - 1)+ "\">上一页</a></li>");out.print("<li ><a href=\"news.jsp?pageNow=1\">1</a></li>");out.print("<li class=\"active\" class=\"dot\"><a href=\"news.jsp?pageNow=2\">...</a></li>");out.print("<li><a href=\"#\">" + pageCount + "</a></li>");out.print("<li><a href=\"news.jsp?pageNow=" + pageCount+ "\">尾页</a></li>");out.print("<li><a href=\"news.jsp?pageNow=" + (pageNow + 1)+ "\">下一页</a></li>");} else if (pageNow >= pageCount) {// 到达尾页out.print("<li ><a href=\"news.jsp?pageNow=" + (pageNow - 1)+ "\">上一页</a></li>");out.print("<li ><a href=\"news.jsp?pageNow=1\">1</a></li>");out.print("<li class=\"dot\"><a href=\"news.jsp?pageNow=2\">...</a></li>");out.print("<li class=\"active\"><a href=\"#\">" + pageCount+ "</a></li>");out.print("<li class=\"active\"><a href=\"news.jsp?pageNow="+ pageCount + "\">尾页</a></li>");out.print("<li class=\"disabled\"><a href=\"#\">下一页</a></li>");}


样式就不给出了,都是一些简单样式的定义。

显示的效果:


这段代码稍微改造一下,就可以通过 sql 语句实现的分页。只要在数据库层定义好分页的方法就可以。


0 0
原创粉丝点击