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

2025-05-27 0 65

分页的基类

?

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 一个通用的Java分页基类代码详解 https://www.kuaiidc.com/76891.html

相关文章

发表评论
暂无评论