JSP 分页

编写一个简单的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>



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值