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);
分享到:
相关推荐
page.java java分页工具类
"java分页工具类" Java分页工具类是Java语言中的一种常用工具类,用于实现分页功能。下面是该工具类的详细知识点: 1. 分页工具类的作用 分页工具类的主要作用是将大量数据分页显示,以便用户更方便地浏览和操作...
java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类java 分页工具类 java 分页工具类
Java分页工具类是开发中常见的一种实用工具,主要用于处理大量数据时的分页显示,以提高用户体验并减轻服务器压力。在Java世界里,我们通常会遇到如MyBatis、Hibernate等ORM框架,它们虽然提供了分页功能,但在某些...
### Java分页工具类及其在Struts、Spring、MyBatis和JSP中的应用 #### 一、Java分页概述 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常会采用分页技术来展示大量的数据记录。本文将详细介绍一个...
简单的java分页工具类
Java 分页工具类的使用方法 Java 分页工具类是实现分页效果的重要组件,通过该工具类,可以实现稳定的分页效果,包括导航页码功能。在本文中,我们将详细介绍 Java 分页工具类的使用方法,并提供相应的代码示例。 ...
这里提到的"对分页进行了封装,PageUtil.java工具类"是一个Java实现的分页辅助类,它的主要目标是简化分页查询的操作,提供更便捷的API给开发者使用。 `PageUtil.java`工具类可能包含了以下功能: 1. **参数处理**...
java实现分页的工具类!对首页、上一页、下一页、尾页包括选择某一页可以轻松实现!
分页private Integer currentPage; private Integer prePage; private Integer nextPage; private Integer rowCount; private Integer pageRows = 5;
下面是一个简单的Java分页工具类实现示例: ```java public class PageUtil { public static <T> PageResult<T> paginate(int pageNumber, int pageSize, DataSource dataSource, String sql, Object... params) ...
自己简单的做了一个初级分页,可以直接拿去应用,希望有帮助
java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;//每页的个数 /** * 当前页 */ private int page; // /** * 总行数 */ private int totalRows; // /** * 总页数 */ private ...
Java分页工具类在开发中经常被用于处理大数据量的查询场景,以提高系统的性能和用户体验。本篇文章介绍的`Pager<T>`类就是一个通用的Java分页工具类,它提供了对分页数据进行操作和管理的功能。以下是`Pager<T>`类的...
java分页 模糊查询 工具类 page.util,导入里面注释有使用方法,非常好用
通用分页工具类PageInfo.java