亲宝软件园·资讯

展开

一个通用的Java分页基类 一个通用的Java分页基类代码详解

wgd7 人气:0
想了解一个通用的Java分页基类代码详解的相关内容吗,wgd7在本文为您仔细讲解一个通用的Java分页基类的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:java,分页,java,通用分页实体类,java,jsp分页代码,下面大家一起来学习吧。

分页的基类

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分页基类代码详解的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他Java相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

加载全部内容

相关教程
猜你喜欢
用户评论