如何实现一个通用的Java分页基类
如何实现一个通用的Java分页基类
发布时间:2021-07-22 11:33:51 来源:高防服务器网 阅读:78 作者:小新 栏目:编程语言
这篇文章给大家分享的是有关如何实现一个通用的Java分页基类的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
分页的基类
import java.util.List; /** * 分页显示的标准类,基本操作,是先给予-当前页数一共的数据条数-每页显示的条数, * 然后在初始化该类,得到总共页数,和开始序号和结束序号, * 然后数据库分页用到开始序号和结束序号,得到数据集合后赋值给该类的list属性, * * 然后把该类发送到jsp页面,进行访问 * @author admin * * @param <T> */ public class PageBean<T> { private int pageIndex; //当前页数 private int pageSize; //一共的页数 private int count; //数据条数 private int pageCount; //每页的数据条数 private int start; //起始数据位置 private int end; //结束 private List<T> list=null; public void init(){ /*根count 和pageCount计算页数pageSize */ int pageSize_x=(int)count/pageCount; if(count>=pageCount){ this.pageSize=count%pageCount==0?pageSize_x:pageSize_x+1; } else{ this.pageSize=1; } //判断页数和当前页数 if(pageIndex>pageSize){ pageIndex=pageSize; } if(pageIndex<1){ pageIndex=1; } //根据当前页计算起始和结束条目 this.start=(pageIndex-1)*pageCount+1; this.end=pageIndex*pageCount; } public PageBean(int pageIndex, int count, int pageCount) { super(); this.pageIndex = pageIndex; this.count = count; this.pageCount = pageCount; } public PageBean(int pageIndex, int count, int pageCount, List<T> list) { super(); this.pageIndex = pageIndex; this.count = count; this.pageCount = pageCount; this.list = list; } public PageBean() { super(); // TODO Auto-generated constructor stub } @Override public String toString() { return "PageBean [count=" + count + ", end=" + end + ", list=" + list + ", pageCount=" + pageCount + ", pageIndex=" + pageIndex + ", pageSize=" + pageSize + ", start=" + start + "]"; } public int getPageIndex() { return pageIndex; } public void setPageIndex(int pageIndex) { this.pageIndex = pageIndex; } public int getPageSize() { return pageSize; } public void setPageSize(int pageSize) { this.pageSize = pageSize; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public int getPageCount() { return pageCount; } public void setPageCount(int pageCount) { this.pageCount = pageCount; } public int getStart() { return start; } public void setStart(int start) { this.start = start; } public int getEnd() { return end; } public void setEnd(int end) { this.end = end; } public List<T> getList() { return list; } public void setList(List<T> list) { this.list = list; } }
servlet调用
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.dao.MessageDao; import com.dao.impl.MessageDaoImpl; import com.vo.Message; import com.vo.PageBean; public class ShowMessageServlet extends HttpServlet{ /** * */ private static final long serialVersionUID = 6646899131087204214L; @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doGet(req, resp); } @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("UTF-8"); resp.setContentType("text/html;charset=utf-8"); int pageIndex=0; MessageDao md=new MessageDaoImpl(); String pageIndexStr=req.getParameter("pageIndex"); if(pageIndexStr!=null){ try{ pageIndex=Integer.parseint(pageIndexStr); } catch (Exception e) { } } PageBean<Message> pb=new PageBean<Message>(pageIndex,md.getMessageCount(),10); pb.init(); pb.setList(md.getMessageListOfPage(pb.getStart(), pb.getEnd())); req.setAttribute("pagebean", pb); req.getRequestDispatcher("index.jsp").forward(req, resp); } }
jsp页面的显示调用
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>" rel="external nofollow" > <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css" rel="external nofollow" > --> </head> <c:if test="${empty pagebean}"> <jsp:forward page="showmessage"></jsp:forward> </c:if> <body> <c:forEach var="message" items="${pagebean.list}"> ${message.title } ${message.editdate }<br/> </c:forEach> <a href="showmessage?pageIndex=${pagebean.pageIndex+1}" rel="external nofollow" >下一个</a>[${pagebean.pageIndex }<span>/</span>${pagebean.pageSize}] </body> </html>
感谢各位的阅读!关于“如何实现一个通用的Java分页基类”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。
[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[