温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现一个通用的Java分页基类

发布时间:2021-07-22 11:33:51 来源:亿速云 阅读:122 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关如何实现一个通用的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分页基类”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI