新西兰服务器

如何实现一个通用的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 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[