Posted on 2011-04-20 10:45 
哈希 阅读(187) 
评论(0)  编辑  收藏  所属分类: 
java 代码  
			 
			
		 
		<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ page import="com.accp.Bean.*,com.accp.Dao.*,java.util.*" %>    
<html>
<head>
<style>
  table{font-size:14px}
    A{text-decoration:none;}
   A:hover{color:blue}
</style>
<title>Insert title here</title>
<script language="javaScript">
 function Jumping(){
  document.PageForm.submit();
  return ;
 }
 function gotoPage(pagenum){
  document.PageForm.jumpPage.value = pagenum;
  document.PageForm.submit();
  return ;
 }
</script>
<style>
   form{font-size:13px} 
</style>
</head>
<% StringPager pager = new StringPager();
 
 TopicDao dao=new TopicDao();
  List lst=dao.selectAll();
  pager.setTopicSelect(lst);// 需要分页的文本
  pager.setSizePerPage(5);// 每页显示行数 
  int curPage;//当前是第几页
  int maxPage;//一共有多少页
  curPage=1;//当前页
  maxPage =pager.getTotalPage();
 
  String jumpPage=(String)request.getParameter("jumpPage"); 
  if (jumpPage!=null && !jumpPage.equals("")){ 
    curPage = Integer.parseInt(jumpPage); 
  } 
   pager.setCurrentPage(curPage);
 %>
<body>
<br><br>
<p align="center"><font size="5">欢迎进入帖子管理页面</font></p>
<form name="PageForm"  action="" method="post">
  <table align="center"  width="650" bgcolor="#FFFFFF" >
  <tr><td colspan="3">每页<%=pager.getSizePerPage()%>条
 第<%=curPage%>页
 共<%=maxPage%>页</td> 
<td colspan="2" align="right">
<%if(curPage==1){ 
     out.print(" 首页 上一页");
  }else{  %>   
<A HREF="javascript:gotoPage(1)">首页</A>
<A HREF="javascript:gotoPage(<%=curPage-1%>)">上一页</A>
<%}%>
<%if(curPage==maxPage){ 
     out.print("下一页 尾页");  
   }else{  %>   
<A HREF="javascript:gotoPage(<%=curPage+1%>)"> 下一页</A>
<A HREF="javascript:gotoPage(<%=maxPage%>)"> 尾页</A>
<%}%>
转到第<SELECT name="jumpPage" onchange="Jumping()">
     <% for(int i=1;i<=maxPage;i++)  {
     if (i== curPage){
     %>
     <OPTION selected value=<%=i%>><%=i%></OPTION>
     <%}else{%>
     <OPTION value=<%=i%>><%=i%></OPTION>
     <%}}%>   
     </SELECT>页</td></tr>
   <tr bgcolor="#C0C0C0" align="center">
     <td>序号</td>
     <td>标题</td>
     <td>内容</td>
     <td>积分</td>
     <td>等级</td>
   </tr>  
 <%
        for(int i=0;i<pager.getCurrentPagedText().size();i++){
        Topic topic=(Topic)(pager.getCurrentPagedText().get(i));
    %>
    <tr bgcolor="#C0C0C0" align="center">
     <td><%=topic.getId()%></td>
     <td><%=subStr(topic.getTitle())%></td>
     <td><%=subStr(topic.getConter())%></td>
     <td><%=topic.getIntegral()%></td>
     <td><%=topic.getGrade()%></td>
   </tr>
   <%} %>
     <%! 
    //截取字符串方法
    public String subStr(String str){
       
       if(str==null||"".equals(str)){
         return"";
       }
       
       if(str.length()>8){
         return str.substring(0,8)+" ";
";
       
       }else{
          
          return str;
       }
    
    }
%>
</table>   
</form>
</body>
</html> 
package examples;
/* 
* @(#)StringPager.java 1.00 2004-10-10 
* 
* Copyright 2004 . All rights reserved. 
* PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 
*/ 
/** 
* StringPager, 字符串分页. 
* 
* @author xxxxxx 
* @version 1.00 2004-10-10 
*/ 
public class StringPager { 
  /** 当前页码数 */ 
  private int currentPage = 1; 
  /** 需要分页的长字符串 */ 
  private String text; 
  /** 每页显示字符数, 默认为 200 */ 
  private int sizePerPage = 200; 
  /** 总页数 */ 
  private int totalPage; 
  public StringPager() {} 
  /** 
  * 返回当前页的字符串. 
  * @return 
  */ 
  public String getCurrentPagedText() { 
    try { 
          if(getCurrentPage() < getTotalPage()) { 
            return getText().substring((getCurrentPage() - 1) * getSizePerPage(), 
            getCurrentPage() * getSizePerPage()); 
          } else if(getTotalPage() > 0) { 
             return getText().substring((getCurrentPage() - 1) * getSizePerPage()); 
          } 
    } catch (Exception e) { 
             e.printStackTrace(); 
    } 
      return null; 
    } 
   /** 
   * @return Returns the 当前页码数. 
   */ 
   public int getCurrentPage() { 
      if(currentPage <= 0) currentPage = 1; 
     return currentPage; 
   } 
   /** 
    * 设置当前页码, 从 1 开始. 
    * 
    * @param currentPage 
    * The 当前页码数 to set. 
   */ 
    public void setCurrentPage(int currentPage) { 
       if (currentPage <= 0) { 
                currentPage = 1; 
       } 
        this.currentPage = currentPage; 
     } 
   /** 
    * @return Returns the 总页码数, 如果没有数据, 就返回 1. 
   */ 
     public int getTotalPage() { 
        if(getText() == null) totalPage = 0; 
          totalPage = (int) Math.ceil(1.0 * getText().length() / getSizePerPage()); // 总页面数 
        if (totalPage == 0) 
                 totalPage = 1; 
        return totalPage; 
      } 
    /** 
     * @param totalPage 
     * The totalPage to set. 
    */ 
      public void setTotalPage(int totalPage) { 
         this.totalPage = totalPage; 
      } 
       public static void main(String[] args) { 
             StringPager pager = new StringPager(); 
             pager.setSizePerPage(5); 
             pager.setText("12345678901"); 
             pager.setCurrentPage(2); 
             System.out.println(pager.getTotalPage()); 
             System.out.println(pager.getCurrentPagedText()); 
       } 
    /** 
     * @return Returns the 每页显示字符数. 
    */ 
      public int getSizePerPage() { 
           return sizePerPage; 
       } 
    /** 
     * @param sizePerPage 
     * The 每页显示字符数 to set. 
    */ 
      public void setSizePerPage(int sizePerPage) { 
               this.sizePerPage = sizePerPage; 
      } 
    /** 
     * @return Returns the 需要分页的长字符串. 
    */ 
      public String getText() { 
          return text; 
       } 
    /** 
      * @param text 
      * The 需要分页的长字符串 to set. 
    */ 
     public void setText(String text) { 
           this.text = text; 
     } 
  } 
<%@ page import="examples.*" %>
<%@ page contentType="text/html;charset=gb2312"%>
<script language="javaScript">
 function Jumping(){
  document.PageForm.submit();
  return ;
 }
 function gotoPage(pagenum){
  document.PageForm.jumpPage.value = pagenum;
  document.PageForm.submit();
  return ;
 }
</script>
<%
  StringPager pager = new StringPager(); 
  pager.setText("12345678wfasdfae3fgsffd34235534634gfsfd65sfgssaeweasdfa901");// 需要分页的长文本 
  pager.setSizePerPage(5);// 每页显示字符数 
  int curPage;//当前是第几页
  int maxPage;//一共有多少页
  curPage=1;//当前页
  maxPage =pager.getTotalPage();
 
  String jumpPage=(String)request.getParameter("jumpPage"); 
  if (jumpPage!=null && !jumpPage.equals("")){ 
    curPage = Integer.parseInt(jumpPage); 
  } 
 pager.setCurrentPage(curPage);
 out.println("第"+curPage+"页<br>");
 out.println(pager.getCurrentPagedText());// 当前页的字符串 
%>
<form name="PageForm"  action="" method="post">
 每页<%=pager.getSizePerPage()%>字
 第<%=curPage%>页
 共<%=maxPage%>页
<BR>
<%if(curPage==1){ out.print(" 首页 上一页");   }else{  %>   
<A HREF="javascript:gotoPage(1)">首页</A>
<A HREF="javascript:gotoPage(<%=curPage-1%>)">上一页</A>
<%}%>
<%if(curPage==maxPage){ out.print("下一页 尾页");   }else{  %>   
<A HREF="javascript:gotoPage(<%=curPage+1%>)"> 下一页</A>
<A HREF="javascript:gotoPage(<%=maxPage%>)"> 尾页</A>
<%}%>
  转到第<SELECT name="jumpPage" onchange="Jumping()">
     <% for(int i=1;i<=maxPage;i++)  {
     if (i== curPage){
     %>
     <OPTION selected value=<%=i%>><%=i%></OPTION>
     <%}else{%>
     <OPTION value=<%=i%>><%=i%></OPTION>
     <%}}%>   
     </SELECT>页
</form>
第二种方法:
package com.accp.Bean;
import java.util.*;
public class StringPager {
    /** 当前页码数 */
    private int currentPage = 1;
    /** 每页显示行数, 默认为 200 */
    private int sizePerPage = 5;
    /** 总页数 */
    private int totalPage;
    /** 需要分页的长字符串 */
    private List topicSelect;
    public StringPager() {
    }
    /**
     * 返回当前页的文本
     * 
     * @return
     */
    public List getCurrentPagedText() {
        try {
            if (getCurrentPage() < getTotalPage()) {
                return getTopicSelect().subList(
                        (getCurrentPage() - 1) * getSizePerPage(),getCurrentPage() * getSizePerPage());
            } else if (getTotalPage() > 0) {
                return getTopicSelect().subList((getCurrentPage() - 1) * getSizePerPage(),getTopicSelect().size());
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    /**
     * @return Returns the 当前页码数.
     */
    public int getCurrentPage() {
        if (currentPage <= 0)
            currentPage = 1;
        return currentPage;
    }
    /**
     * 设置当前页码, 从 1 开始.
     * 
     * @param currentPage
     *            The 当前页码数 to set.
     */
    public void setCurrentPage(int currentPage) {
        if (currentPage <= 0) {
            currentPage = 1;
        }
        this.currentPage = currentPage;
    }
    /**
     * @return Returns the 总页码数, 如果没有数据, 就返回 1.
     */
    public int getTotalPage() {
        if (getTopicSelect() == null)
            totalPage = 0;
        totalPage = (int) Math.ceil(1.0 * getTopicSelect().size()
                / getSizePerPage()); // 总页面数
        if (totalPage == 0)
            totalPage = 1;
        return totalPage;
    }
    /**
     * @param totalPage
     *            The totalPage to set.
     */
    public void setTotalPage(int totalPage) {
        this.totalPage = totalPage;
    }
    /**
     * @return Returns the 每页显示行数.
     */
    public int getSizePerPage() {
        return sizePerPage;
    }
    /**
     * @param sizePerPage
     *            The 每页显示行数to set.
     */
    public void setSizePerPage(int sizePerPage) {
        this.sizePerPage = sizePerPage;
    }
    /**
     * @return Returns the 需要分页的文本.
     */
    public List getTopicSelect() {
        return topicSelect;
    }
    public void setTopicSelect(List topicSelect) {
        this.topicSelect = topicSelect;
    }
}
jsp代码
<%@ page language="java" contentType="text/html; charset=GBK"
    pageEncoding="GBK"%>
<%@ page import="com.accp.Bean.*,com.accp.Dao.*,java.util.*" %>    
<html>
<head>
<style>
  table{font-size:14px}
    A{text-decoration:none;}
   A:hover{color:blue}
</style>
<title>Insert title here</title>
<script language="javaScript">
 function Jumping(){
  document.PageForm.submit();
  return ;
 }
 function gotoPage(pagenum){
  document.PageForm.jumpPage.value = pagenum;
  document.PageForm.submit();
  return ;
 }
</script>
<style>
   form{font-size:13px} 
</style>
</head>
<% StringPager pager = new StringPager();
 
 TopicDao dao=new TopicDao();
  List lst=dao.selectAll();
  pager.setTopicSelect(lst);// 需要分页的文本
  pager.setSizePerPage(5);// 每页显示行数 
  int curPage;//当前是第几页
  int maxPage;//一共有多少页
  curPage=1;//当前页
  maxPage =pager.getTotalPage();
 
  String jumpPage=(String)request.getParameter("jumpPage"); 
  if (jumpPage!=null && !jumpPage.equals("")){ 
    curPage = Integer.parseInt(jumpPage); 
  } 
   pager.setCurrentPage(curPage);
 %>
<body>
<br><br>
<p align="center"><font size="5">欢迎进入帖子管理页面</font></p>
<form name="PageForm"  action="" method="post">
  <table align="center"  width="650" bgcolor="#FFFFFF" >
  <tr><td colspan="3">每页<%=pager.getSizePerPage()%>条
 第<%=curPage%>页
 共<%=maxPage%>页</td> 
<td colspan="2" align="right">
<%if(curPage==1){ 
     out.print(" 首页 上一页");
  }else{  %>   
<A HREF="javascript:gotoPage(1)">首页</A>
<A HREF="javascript:gotoPage(<%=curPage-1%>)">上一页</A>
<%}%>
<%if(curPage==maxPage){ 
     out.print("下一页 尾页");  
   }else{  %>   
<A HREF="javascript:gotoPage(<%=curPage+1%>)"> 下一页</A>
<A HREF="javascript:gotoPage(<%=maxPage%>)"> 尾页</A>
<%}%>
转到第<SELECT name="jumpPage" onchange="Jumping()">
     <% for(int i=1;i<=maxPage;i++)  {
     if (i== curPage){
     %>
     <OPTION selected value=<%=i%>><%=i%></OPTION>
     <%}else{%>
     <OPTION value=<%=i%>><%=i%></OPTION>
     <%}}%>   
     </SELECT>页</td></tr>
   <tr bgcolor="#C0C0C0" align="center">
     <td>序号</td>
     <td>标题</td>
     <td>内容</td>
     <td>积分</td>
     <td>等级</td>
   </tr>  
 <%
        for(int i=0;i<pager.getCurrentPagedText().size();i++){
        Topic topic=(Topic)(pager.getCurrentPagedText().get(i));
    %>
    <tr bgcolor="#C0C0C0" align="center">
     <td><%=topic.getId()%></td>
     <td><%=subStr(topic.getTitle())%></td>
     <td><%=subStr(topic.getConter())%></td>
     <td><%=topic.getIntegral()%></td>
     <td><%=topic.getGrade()%></td>
   </tr>
   <%} %>
     <%! 
    //截取字符串方法
    public String subStr(String str){
       
       if(str==null||"".equals(str)){
         return"";
       }
       
       if(str.length()>8){
         return str.substring(0,8)+" ";
";
       
       }else{
          
          return str;
       }
    
    }
%>
</table>   
</form>
</body>
</html>