欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

一个javaee高效分页显示的类代码,javaee分页显示,分页的基类package

来源: javaer 分享于  点击 10926 次 点评:277

一个javaee高效分页显示的类代码,javaee分页显示,分页的基类package


分页的基类

package com.vo;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调用
package com.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%>">    <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">    -->  </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}">下一个</a>[${pagebean.pageIndex }<span>/</span>${pagebean.pageSize}]  </body></html>
相关栏目:

用户点评