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分页工具类 java分页工具类 java分页工具类 java分页工具类
java分页工具类,以及基于Struts,Spring,mybatis,jsp中分页的调用及实现
简单的java分页工具类
java分页工具类[非常简洁好用],使用教程可访问: http://www.openxtiger.org/index.php?doc-view-4136
对分页进行了封装,PageUtil.java的分页工具类,自己写了一个dome。
java实现分页的工具类!对首页、上一页、下一页、尾页包括选择某一页可以轻松实现!
日常开发中使用比较频繁的分页功能(java实现源码)
分页private Integer currentPage; private Integer prePage; private Integer nextPage; private Integer rowCount; private Integer pageRows = 5;
主要为大家详细介绍了java分页工具类的使用方法,稳定的分页效果,包括导航页码功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
自己简单的做了一个初级分页,可以直接拿去应用,希望有帮助
java jdbc 分页工具类,以及返回集合数据的封装, private int limit = 10;//每页的个数 /** * 当前页 */ private int page; // /** * 总行数 */ private int totalRows; // /** * 总页数 */ private ...
本篇文章主要分享了Java分页工具类及其使用的示例代码,具有一定的参考价值,下面跟着小编一起来看下吧
java分页 模糊查询 工具类 page.util,导入里面注释有使用方法,非常好用
通用分页工具类PageInfo.java
主要介绍了Java实现的分页工具类与用法,结合完整实例形式分析了java分页工具类的定义、使用方法及相关操作技巧,需要的朋友可以参考下