zoukankan      html  css  js  c++  java
  • 分页封装实用工具类及其使用方法

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


    作者: 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
    
    


     

  • 相关阅读:
    不同进程间消息互发
    不同进程间消息互发
    div滤镜结合ajax,实现登录
    网页自适应不同浏览器和分辨率[转]
    DIV样式汇总
    用CSS中的Alpha实现渐变
    JavaScript中的null和undefined
    CSS教程:div垂直居中的N种方法[转]
    浏览器不兼容原因及解决办法
    JavaScript验证时间格式
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/2998644.html
Copyright © 2011-2022 走看看