分页封装实用工具类及其使用方法

简介:

分页封装实用工具类及其使用方法


作者: javaboy2012
Email:yanek@163.com
qq:    1046011462

 

 

package com.yanek.util;

import java.util.List;

public class PageBean {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

	}

	private int currentpage; // 当前页数
	private int pagesize; // 每页大小
	private int totalPagecount; // 总页数
	private int totalRecordCount; // 总记录数
	private List recordContents; // 当前页记录内容列表

	public int getCurrentpage() {
		return currentpage;
	}

	public int getPagesize() {
		return pagesize;
	}

	public List getRecordContents() {
		return recordContents;
	}

	public int getTotalPagecount() {
		return totalPagecount;
	}

	public int getTotalRecordCount() {
		return totalRecordCount;
	}

	public PageBean(int currentpage, int pagesize, int totalRecordCount, List recordContents) {
		super();
		this.currentpage = currentpage;
		this.pagesize = pagesize;
		this.totalRecordCount = totalRecordCount;
		this.recordContents = recordContents;

		if (totalRecordCount % pagesize == 0) {
			this.totalPagecount = totalRecordCount / pagesize;
		} else {
			this.totalPagecount = totalRecordCount / pagesize + 1;
		}
	}

}




调用方法:

 action里调用:


	public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
		
                TopicDAO tdao=new TopicDAOImpl();

		String s_pagesize=(String)request.getParameter("pagesize");
		int pagesize=20;
		if (s_pagesize!=null)
		{
			pagesize=Integer.parseInt(s_pagesize);
		}
		int pagecount=1;
		String s_pagecount=(String)request.getParameter("pagecount");
		if (s_pagecount!=null)
		{
			pagecount=Integer.parseInt(s_pagecount);
		}
                
                //得到记录总数		

		long totalcount=tdao.getTopicTotalCount();
		
		
		System.out.println("total:"+totalcount);
		
		List topics=tdao.getTopics(pagesize,pagecount);
		
		for (int i=0;i<topics.size();i++)
		{
			TopicBean tb=(TopicBean)topics.get(i);
			
			System.out.println(tb.getTid()+"-"+tb.getTname());
		}
		
		
		PageBean  pb=new PageBean(pagecount,pagesize, (int)totalcount,topics);

	
		request.setAttribute("topic_pagebean", pb);
		
		return mapping.findForward("topic_list");
	}


jsp页面调用示例:

  <%
  
	    PageBean  pb=(PageBean)request.getAttribute("topic_pagebean");
	    List topics=pb.getRecordContents();
   %>
  

<div class="cont">

<center><h2>记录列表</h2></center><br/><br/>
	<div class="list">
	
<form name="topic"  action="topic.do" method="get">


      <input type="hidden" name="method" value="list" />
      <input type="hidden" name="pagesize" value="<%=pb.getPagesize()%>" />


	  <table width="100%" border="0">
        <tr class="white">
          <th class="sl1" width="30%">标题</th>
          <th width="30%" class="sl1">描述</th>
          <th class="sl1" width="25%">ID </th>
          <th width="15%"> 操作</th>
        </tr>
        
      
      	<% 
      	
      	for (int i=0;i<topics.size();i++)
		{
			TopicBean tb=(TopicBean)topics.get(i);
			%>
	
			<%
			 String classname="";
			 if (i%2==1) 
			 {
			  classname="white";
			 }
		
			%>
			<tr class="<%=classname %>">
	          <td><%=tb.getTname() %></td>
	          <td><%=tb.getTdesc() %></td>
	          <td>
				
				<%=tb.getTid() %>
			  </td>
	          <td><a href='/topic.do?method=view&tid=<%=tb.getTid() %>'>[查看]</a></td>
	        </tr>
			
			
			<%
			
		}
		%>
		
      	
	        
	     	
	        
		
	        <tr>
		<td colspan="6">
		<p align="center">
		<br/>
		
		共<%=pb.getTotalRecordCount() %>个记录,共<%=pb.getTotalPagecount() %>页,每页<%=pb.getPagesize() %>个 ,当前第<%=pb.getCurrentpage() %>页
	
		
		
		 <%
   if (pb.getCurrentpage()==1)
   {
     
     out.print("首页  上页 ");
   }
   else
   {
     %>
      <a href="topic.do?method=list&pagecount=1&pagesize=<%=pb.getPagesize() %>">首页</a>
      <a href="topic.do?method=list&pagecount=<%=pb.getCurrentpage()-1%>&pagesize=<%=pb.getPagesize() %>">上页</a>
     <%
     
   }
   %>
   
    <%
   if (pb.getCurrentpage()==pb.getTotalPagecount())
   {
     
     out.print("下一页  尾页 ");
   }
   else
   {
     %>
  
  <a href="topic.do?method=list&pagecount=<%=pb.getCurrentpage()+1 %>&pagesize=<%=pb.getPagesize() %>">下一页 </a>
  <a href="topic.do?method=list&pagecount=<%=pb.getTotalPagecount() %>&pagesize=<%=pb.getPagesize() %>">  尾页</a>
     <%
     
   }
   %> 
		
		
		
		转到第 <input type="text" name="pagecount" value="<%=pb.getCurrentpage() %>" size="4"> 页
		
		 <input type="submit" value="GO" size="4">
		
		</td>
	</tr>
	
	   
		
	
	
      </table></form>
	  
	 
  </div>
</div>


action配置

<action path="/topic" type="com.myweb.web.action.TopicAction" scope="request"  parameter="method">
			<forward name="topic_list" path="/WEB-INF/pages/test/test/topic_list.jsp"/>
</action>

访问方式: http://192.168.0.1/topic.do?method=list&pagecount=1&pagesize=10


 

目录
相关文章
|
人工智能 分布式计算 Hadoop
阿里云大数据ACA及ACP复习题(261~270)
本人备考阿里云大数据考试时自行收集准备的题库,纯手工整理的,能够覆盖到今年7月份,应该是目前最新的,发成文章希望大家能一起学习,不要花冤枉钱去买题库背了,也希望大家能够顺利通关ACA和ACP考试。
|
供应链 安全 芯片
台积电7nm芯片断供影响分析:中国大陆半导体产业的挑战与机遇
近日,有关台积电可能断供中国大陆7nm芯片的消息引发了业界的广泛关注。这一事件不仅关系到全球半导体供应链的稳定性,也对中国大陆半导体产业的发展提出了新的挑战。本文将探讨这一事件背后的原因、可能的影响以及中国大陆半导体产业的应对策略。
691 0
|
前端开发 JavaScript 安全
Android MVI 架构:从双向绑定到单向数据流
现在从事Android开发多少都要懂点架构知识,从MVC、MVP再到MVVM,想必大家对于其各自的优缺点早已如数家珍。今天介绍的MVI与MVVM非常接近,可以针对性地弥补MVVM中的一些缺陷
2729 0
|
运维 监控 容灾
建设强大系统:提升高可用、可靠性和稳定性的秘诀
建设强大系统:提升高可用、可靠性和稳定性的秘诀
1774 0
|
弹性计算 安全 数据安全/隐私保护
阿里云ECS服务器被植入挖矿木马解决过程分享
阿里云ECS服务器是目前很多网站我们在使用的,但是如果安全做的不够好,有时候就会被植入木马,例如我们有时候会收到阿里云的短信提醒,提醒服务器存在挖矿进程,请立即处理的安全告警。 出现这种情况往往网站都无法正常的打开,卡的连服务器SSH远程连接都进不去,给我们造成了很大的影响。
11612 0
|
Go
Golang读取配置文件实现(yaml)
Golang读取配置文件实现(yaml)
573 0
Golang读取配置文件实现(yaml)
最新十大域名注册商.com域名注册量排行榜
日前,ICANN发布了来自Verisign(纳斯达克股票代码:VRSN)关于.com的最新官方数据。 以下是截止2022年4月底新注册.com域名数量排名前10的注册商列表和管理的.com域名注册总量TOP10排行榜。
最新十大域名注册商.com域名注册量排行榜
|
数据安全/隐私保护 UED Docker
|
API 开发工具 vr&ar
【Google Play】App Bundle 使用详解 ( 按条件分发 | 国家地区 | SDK 版本 | 设备功能 | 按需分发 | 资源分发 )
【Google Play】App Bundle 使用详解 ( 按条件分发 | 国家地区 | SDK 版本 | 设备功能 | 按需分发 | 资源分发 )
531 0
【Google Play】App Bundle 使用详解 ( 按条件分发 | 国家地区 | SDK 版本 | 设备功能 | 按需分发 | 资源分发 )
|
弹性计算 安全 关系型数据库
ECS使用心得体验
强烈的编程爱好让我在编程的道路上越走越远,也让我学到了非常多的知识,同时也发现,学得越多,自己不懂的就越多,只有不断的学习,才能让自己跟上时代发展的步伐。由于在学习过程中使用到了云服务器,然后通过学长学姐的推荐,我了解到了“飞天加速计划•高校学生在家实践”活动,也因此第一次使用了ECS,由此产生了一些使用心得。