一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 一個通用的Java分頁基類代碼詳解

一個通用的Java分頁基類代碼詳解

2021-03-08 13:13wgd7 Java教程

這篇文章主要介紹了一個通用的Java分頁基類代碼詳解,具有一定借鑒價值,需要的朋友可以參考下。

分頁的基類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
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調用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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頁面的顯示調用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<%@ 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相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://www.open-open.com/code/view/1426342709482

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 天天操丝袜 | 天天做天天爽 | 国产在线99 | 国产精品亚洲专区一区 | 99国产精品久久久久久久... | 日本不卡在线视频高清免费 | 污污在线免费观看 | 国产91无毒不卡在线观看 | 亚洲 色 欧美 爱 视频 日韩 | 亚洲国产剧情中文视频在线 | 国内精品视频九九九九 | 免费在线观看a | 久热在线这里只有精品7 | 欧美亚洲国产一区二区三区 | 成年女人毛片免费观看97 | 91网红福利精品区一区二 | 99久久精品免费精品国产 | 国内精品 大秀视频 日韩精品 | 三年片韩国在线 | 小鸟酱在线播放 | 青柠影视在线播放观看高清 | 精品国产美女AV久久久久 | 大香焦在线 | 色综合久久综精品 | evelynlin亚裔播放 | 99热久久这里只有精品6国产网 | 探花 在线 | 51国产午夜精品免费视频 | 欧美日韩综合网在线观看 | 亚洲国产成人精品 | 美女扒开粉嫩尿口漫画 | 亚洲精品久久7777777 | www.四虎在线观看 | 福利一区福利二区 | 美女岳肉太深了使劲 | 国产肥女bbwbbw| 白丝爆动漫羞羞动漫网站 | 公交车强校花系列小说 | 欧美日韩1区2区 | 国产精品亚洲午夜不卡 | 欧美美女一级片 |