编写一个简单的Web项目,项目结构如下:
PageBean.java 代码如下:
package com.test.po;
/**
* 分页
*/
public class PageBean {
/**
* 页面尺寸.
*/
private int pageSize;
/**
* 当前页页码.
*/
private int pageIndex;
/**
* 页面总数.
*/
private int pageCount;
/**
* 总记录数.
*/
private int totalCount;
/**
* 当前页首行行号.
*/
private int firstResult;
/**
* 上页页码.
*/
private int prePageIndex;
/**
* 下页页码.
*/
private int nexetPageIndex;
public PageBean(){
this.setPageSize(10);
this.setPageIndex(1);
this.firstResult = 1;
}
/**
* 初始化方法.
* @param totalCount
* @param pageSize
*/
public PageBean(int pageSize,int totalCount){
this.setTotalCount(totalCount);
this.setPageSize(pageSize);
this.getPageCount();
this.setPageIndex(1);
this.getFirstResult();
this.getPrePageIndex();
this.getNextPageIndex();
}
/**
* 设置总行数.
* @param totalCount
*/
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
/**
* 设置页面尺寸.
* @param pageSize
*/
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
/**
* 获取页面尺寸.
* @return
*/
public int getPageSize() {
return pageSize;
}
/**
* 获取页面数.
* @return
*/
public int getPageCount() {
pageCount = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
return pageCount;
}
/**
* 设置页码.
* @param pageIndex
*/
public void setPageIndex(int pageIndex) {
if(pageIndex > pageCount){
pageIndex = pageCount;
} else if(pageIndex < 1){
pageIndex = 1;
}
this.pageIndex = pageIndex;
}
/**
* 获取页码.
* @return
*/
public int getPageIndex() {
return pageIndex;
}
/**
* 获取当前页首行行号.
* @return
*/
public int getFirstResult() {
firstResult = (pageIndex - 1) * pageSize + 1;
return firstResult;
}
/**
* 上页.
* @return
*/
public int getPrePageIndex() {
prePageIndex = pageIndex == 1 ? 1 : pageIndex - 1;
return prePageIndex;
}
/**
* 下页.
* @return
*/
public int getNextPageIndex() {
nexetPageIndex = pageIndex == pageCount ? pageCount : pageIndex + 1;
return nexetPageIndex;
}
public int getFirstPageIndex(){
return 1;
}
public int getLastPageIndex(){
return pageCount;
}
}
index.jsp页面中代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page language="java" import="com.test.po.PageBean" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
<%
List<String> list = new ArrayList<String>();
for(int i=0;i<100;i++ ){
list.add(String.valueOf(i + 1));
}
PageBean pb = new PageBean(10,list.size(),list);
if(request.getParameter("page.pageIndex") != null){
int pageIndex = Integer.valueOf(request.getParameter("page.pageIndex"));
pb.setPageIndex(pageIndex);
}
%>
<% for(int i=pb.getFirstResult();i<pb.getFirstResult()+ pb.getPageSize();i++){%>
<%=i %><br>
<%}%>
<a href="<%=request.getRequestURI() %>?page.pageIndex=<%=pb.getFirstPageIndex() %>">首页</a>
<a href="<%=request.getRequestURI() %>?page.pageIndex=<%=pb.getPrePageIndex() %>">上页</a>
<a href="<%=request.getRequestURI() %>?page.pageIndex=<%=pb.getNextPageIndex() %>">下页</a>
<a href="<%=request.getRequestURI() %>?page.pageIndex=<%=pb.getLastPageIndex() %>">尾页</a>
</body>
</html>