`
wanghua305
  • 浏览: 29987 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java 分页,工具类

阅读更多


page.java po
package com.lehe.backAdmin.po;

/**
* @author wanghua
*分页使用
* Dec 17, 2009 2:09:42 PM
*/
package com.lehe.backAdmin.po;

/**
* @author wanghua
*分页使用
* Dec 17, 2009 2:09:42 PM
*/
public class Page {
private int totalRows; //总行数
    private int pageSize; //每页显示的行数
    private int currentPage; //当前页号
    private int totalPages=1; //总页数
    private int startRow; //当前页在数据库中的起始行
    public Page(int _totalRows,int pageSize) {
    this.pageSize=pageSize;
     totalRows = _totalRows;
     totalPages=totalRows/pageSize;
     int mod=(int) (totalRows%pageSize);
     if(mod>0||totalPages==0){
       totalPages++;
     }
     currentPage = 1;
     startRow = 0;
   }

   public int getStartRow() {
     return startRow;
   }

   public int getTotalPages() {
     return totalPages;
   }

   public int getCurrentPage() {
     return currentPage;
   }

   public int getPageSize() {
     return pageSize;
   }

   public void setTotalRows(int totalRows) {
     this.totalRows = totalRows;
   }

   public void setStartRow(int startRow) {
     this.startRow = startRow;
   }

   public void setTotalPages(int totalPages) {
     this.totalPages = totalPages;
   }

   public void setCurrentPage(int currentPage) {
     this.currentPage = currentPage;
   }

   public void setPageSize(int pageSize) {
     this.pageSize = pageSize;
   }

   public int getTotalRows() {
     return totalRows;
   }

   public void first() {
     currentPage = 1;
     startRow = 0;
   }

   public void previous() {
     if (currentPage == 1) {
       return;
     }
     currentPage--;
     startRow = (currentPage - 1) * pageSize;
   }

   public void next() {
     if (currentPage < totalPages) {
       currentPage++;
     }
     startRow = (currentPage - 1) * pageSize;
   }
   public void goPage(){
   if (currentPage>totalPages) {
currentPage=totalPages;
   }else if (currentPage<1) {
   currentPage=1;
   }
   startRow = (currentPage - 1) * pageSize;
   }
   public void last() {
     currentPage = totalPages;
     startRow = (currentPage - 1) * pageSize;
   }

   public void refresh(int _currentPage) {
     currentPage = _currentPage;
     if (currentPage > totalPages) {
       last();
     }
   }
}



page.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <script type="text/javascript">
  function setType(type){
  var cpage=document.getElementById("currentPage").value;
  document.getElementById("dotype").value=type;
  return checkNum(cpage);
  }
  function checkNum(val){
  if(val.replace(/\s/g,'')!=''){
  if(!isNum(val)){
  alert("跳转到的页数只能为数字");
  document.getElementById("currentPage").value="";
  return false;
  }
  }else{
  alert("要跳转到的页数为空!");
  return false;
  }
  return true;
  }
  function isNum(s)
{
    if (s!=null && s!="")
    {
        return !isNaN(s);
    }
    return false;
}
  </script>
  </head>
  <body>
  第<s:property value='page.currentPage'/>页/共<s:property value='page.totalPages'/>页
    <input type="hidden" name="dotype" value=""/>
    <s:if test="page.totalPages!=1">
    <s:if test="page.currentPage==1">
<input type="submit" disabled onclick="return setType('previous');" value="上一页"/>
<input type="submit" disabled onclick="return setType('first');" value="首页"/>
</s:if>
<s:else>
<input type="submit" onclick="return setType('previous');" value="上一页"/>
<input type="submit" onclick="return setType('first');" value="首页"/>
</s:else>
<s:if test="page.currentPage==page.totalPages">
<input type="submit" disabled onclick="return setType('next');" value="下一页"/>
<input type="submit" disabled onclick="return setType('last');" value="尾页"/>
</s:if>
<s:else>
<input type="submit" onclick="return setType('next');" value="下一页"/>
<input type="submit" onclick="return setType('last');" value="尾页"/>
</s:else>
<input type="submit" onclick="return setType('goPage');" value="跳转到"/>
<input type="text" size="1" maxlength="3" id="currentPage" onchange="checkNum(this.value)" name="currentPage" value="<s:property value='page.currentPage'/>"/>页
</s:if>
<s:else>
<input type="submit" disabled onclick="return setType('previous');" value="上一页"/>
<input type="submit" disabled onclick="return setType('next');" value="下一页"/>
<input type="submit" disabled onclick="return setType('next');" value="下一页"/>
<input type="submit" disabled onclick="return setType('last');" value="尾页"/>
<input type="submit" disabled onclick="return setType('goPage');" value="跳转到"/>
<input type="text"  disabled size="1" maxlength="3" onchange="checkNum(this.value)" id="currentPage" name="currentPage" value="<s:property value='page.currentPage'/>"/>页
</s:else>

  </body>
</html>



点击“上一页”,“下一页”所进行的操作
/**
*
* @param dotype分页操作的类型
* @param page分页对象
* @return处理后的page class
*/
public static Page pageHandle(String dotype,Page page){
if (dotype!=null) {
if (dotype.equals("previous")) {
page.previous();
}else if (dotype.equals("next")) {
page.next();
}else if (dotype.equals("first")) {
page.first();
}else if (dotype.equals("last")) {
page.last();
}else if (dotype.equals("goPage")){
page.goPage();
}
}else {
return page;
}
return page;
}


具体action 中所写
三个必须有的属性
private Page page;
private String dotype;
private String currentPage="1";
方法中的具体学法:
int totalRows=keyWordManagerService.getFilterinfoRows(sqlCount.toString());
int pageSize=Integer.parseInt(SystemManager.getInstance().getPropValue("keyPageSize"));
page=new Page(totalRows,pageSize);
page.setCurrentPage(Integer.parseInt(currentPage));
//分页操作,对当前页数加减
page=LeheUtils.pageHandle(dotype, page);
kList=keyWordManagerService.keyWordList(sqlList.toString(),page.getStartRow(),pageSize);
分享到:
评论

相关推荐

    java分页工具类

    page.java java分页工具类

    java分页工具类(非常实用)

    "java分页工具类" Java分页工具类是Java语言中的一种常用工具类,用于实现分页功能。下面是该工具类的详细知识点: 1. 分页工具类的作用 分页工具类的主要作用是将大量数据分页显示,以便用户更方便地浏览和操作...

    java 分页工具类 java 分页工具类

    java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类

    java分页工具类[非常简洁好用]

    Java分页工具类是开发中常见的一种实用工具,主要用于处理大量数据时的分页显示,以提高用户体验并减轻服务器压力。在Java世界里,我们通常会遇到如MyBatis、Hibernate等ORM框架,它们虽然提供了分页功能,但在某些...

    java分页工具类,以及基于Struts,Spring,mybatis,jsp中分页的调用及实现

    ### Java分页工具类及其在Struts、Spring、MyBatis和JSP中的应用 #### 一、Java分页概述 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常会采用分页技术来展示大量的数据记录。本文将详细介绍一个...

    简单的java分页工具类

    简单的java分页工具类

    java分页工具类的使用方法

    Java 分页工具类的使用方法 Java 分页工具类是实现分页效果的重要组件,通过该工具类,可以实现稳定的分页效果,包括导航页码功能。在本文中,我们将详细介绍 Java 分页工具类的使用方法,并提供相应的代码示例。 ...

    对分页进行了封装,PageUtil.java工具类

    这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助类,它的主要目标是简化分页查询的操作,提供更便捷的API给开发者使用。 `PageUtil.java`工具类可能包含了以下功能: 1. **参数处理**...

    java实现分页的工具类

    java实现分页的工具类!对首页、上一页、下一页、尾页包括选择某一页可以轻松实现!

    java分页的工具类

    分页private Integer currentPage; private Integer prePage; private Integer nextPage; private Integer rowCount; private Integer pageRows = 5;

    Java实现的分页工具类

    下面是一个简单的Java分页工具类实现示例: ```java public class PageUtil { public static &lt;T&gt; PageResult&lt;T&gt; paginate(int pageNumber, int pageSize, DataSource dataSource, String sql, Object... params) ...

    Java分页查询显示应用的工具类

    自己简单的做了一个初级分页,可以直接拿去应用,希望有帮助

    Java jdbc分页工具类

    java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;//每页的个数 /** * 当前页 */ private int page; // /** * 总行数 */ private int totalRows; // /** * 总页数 */ private ...

    Java分页工具类及其使用(示例分享)

    Java分页工具类在开发中经常被用于处理大数据量的查询场景,以提高系统的性能和用户体验。本篇文章介绍的`Pager&lt;T&gt;`类就是一个通用的Java分页工具类,它提供了对分页数据进行操作和管理的功能。以下是`Pager&lt;T&gt;`类的...

    java分页 模糊查询 工具类page.util

    java分页 模糊查询 工具类 page.util,导入里面注释有使用方法,非常好用

    通用分页工具类PageInfo.java

    通用分页工具类PageInfo.java

Global site tag (gtag.js) - Google Analytics