网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  分页javabean     
  文章作者:未知  文章来源:水木森林  
  查看:145次  录入:管理员--2007-11-17  
 
  分页javabean

package hzdq.fdjc.common;

import java.sql.*;
import java.util.*;

/**
* title:分页
* description:
* copyright: copyright (c) 2004
* company:
* author:颜喜班
* @version 1.0
*/
public class splitpager
{
/*
* _sql_str:传入的sql语句
* _total_records: 总记录数目
* _pagesize: 每页显示的记录数目
* _page: 所分的逻辑页数
*/
private connection con=null;
private statement stmt=null;
private resultset rs=null;
private resultsetmetadata rsmd=null;
private string _sql_str;
private int _total_records;
private int _pages;
private int _pagesize;
public void setconnection(connection con)
{
this.con=con;
if (this.con == null)
system.out.println("failure to get a connection!");
else
system.out.println("success to get a connection!");
}
public void initialize(string sqlstr,int pagesize)
{
this._sql_str=sqlstr;
this._pagesize=pagesize;
try{
stmt=this.con.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);
rs=stmt.executequery(this._sql_str);
rsmd=rs.getmetadata();
if (rs!=null)
{
rs.last();
this._total_records = rs.getrow();
rs.first();
this._pages = (this._total_records - 1) / this._pagesize + 1;
}
}
catch(sqlexception e){system.out.println(e.tostring()); }
}
public vector getpage(int ipage){
vector vdata=new vector();
int n=ipage;
int m=0;
m=(n-1)*this._pagesize;
try{
if (rs!=null)
{
if (n!=1) {rs.absolute(m);}
for(int i=0;i<this._pagesize;i++){
string[] sdata=new string[6];
for(int j=0;j<rsmd.getcolumncount();j++)
{
sdata[j]=rs.getstring(j+1);
}
if (sdata==null)
{
break;
}
vdata.addelement(sdata);
rs.next();
}
}
rs.close();
stmt.close();
}
catch(sqlexception e){system.out.println(e.tostring()); }
return vdata;
}
public int getpages()
{
return this._pages;
}
public int gettotalrecords()
{
return this._total_records;
}

}

jsp页面
<%@ page contenttype="text/html;charset=gb2312" language="java" %>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="hzdq.fdjc.dbconn.*" %>
<jsp:usebean id="splitpager" scope="page" class="hzdq.fdjc.common.splitpager"/>
<%
//数据库连接
dbconnectionmanager conn=dbconnectionmanager.getinstance();
connection con=conn.getconnection();
splitpager.setconnection(con);
int pagesize = 2;
string sqlstr = "select id,tilte from news";
splitpager.initialize(sqlstr,pagesize);
int page1=1;
//通过get数据获取当前页号
string strpage=null;//跳到的页数
strpage=request.getparameter("page1");
if (strpage==null)
{
page1=1;
}
else
{
try{page1=integer.parseint(strpage);}
catch(numberformatexception e){}
if (page1<1) page1=1;
if (page1>splitpager.getpages()) page1=splitpager.getpages();
}
system.out.print("sqlstr:"+sqlstr+"page1:"+page1+"pagesize:"+pagesize);
vector vdata=splitpager.getpage(page1);
%>
<html>
<head>
<title></title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../include/ydl.css" type="text/css">
<script language="javascript">
function error()
{
pages=document.sinfo.page1.value;
if(!isnumber(pages))
{
document.sinfo.page1.value="";
return false;
}
}

function isnumber(inputstr)
{
for(var i=0;i<inputstr.length;i++)
{
var onechar=inputstr.substring(i,i+1);
if((onechar<´0´ || onechar>´9´))
{
alert("对不起,此处只能输入数字字符!!");
return false;
}
}
return true;
}

function isvalid(form)
{
if(isnumber(form.page1.value))
{
form.page1.value="";
form.page1.focus();
return false;
}
else
{
return true;
}
}

function jumpto()
{
pages=document.sinfo.page1.value;
if(!isnumber(pages))
{
document.sinfo.page1.value="1";
pages="1";
}
if(pages == "")
pages = "1";
document.sinfo.page1.value = pages;
document.sinfo.submit();
}
</script>
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
<table width="500" border="0" cellspacing="0" cellpadding="0" align="center" background="http://www.itus.cn../images/lone_2.gif">
<tr>
<td width="15"><img src="http://www.itus.cn../images/lone_1.gif" width="15" height="30"></td>
<form name="sinfo" method="post" action="test.jsp" onsubmit="return isvalid(this);">
<td align="right"> <font>共<%=splitpager.gettotalrecords()%>条 <%=page1%>/<%=splitpager.getpages()%>
<%=pagesize%>条/页
<%
if (page1!=1)
{
%>
<a href="test.jsp?page1=1">首页</a>
<a href="test.jsp?page1=<%=(page1-1)%>">上一页</a>
<%
}
if (page1!=splitpager.getpages())
{
%>
<a href="test.jsp?page1=<%=(page1+1)%>">下一页</a>
<a href="test.jsp?page1=<%=splitpager.getpages()%>">最后一页</a>
<%
}
%>
跳到</font>
<input type="text" name="page1" maxlength="4" size="4" style="font-size:9px" onchange="javascript:{error()}">
</td>
</form>
<td width="79"><input type="image" img src="http://www.itus.cn../images/lone_3.gif" width="79" height="30" onclick="jumpto()" alt="跳到" name="image"></td>
</tr>
</table>
<br>
<table width="98%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td height="2" bgcolor="#48b9ea"></td>
</tr>
</table>
<table width="98%" border="0" cellspacing="2" cellpadding="2" align="center" background="http://www.itus.cn../images/dian.gif">
<form action="" method="mothod" name="form">
<tr align="center" bgcolor="#ecece3">
<td height="22" bgcolor="#ecece3"><font size="2" color="#3366cc">组名</font></td>
<td width="60%" height="22"><font size="2" color="#3366cc">描述</font></td>
<td width="5%" height="22"><font size="2" color="#3366cc">选择</font></td>
</tr>
<% for(int i=0;i<vdata.size();i++){
//显示数据
string[] sdata=(string[])vdata.get(i);
%>
<tr>
<td height="20" align="center" bgcolor="#f5f5f5"><%=sdata[0]%></td>
<td width="60%" height="20" align="center" bgcolor="#f5f5f5">
<%if (sdata[1]==null) out.print("");else out.print(sdata[1]);%>
</td>
</tr>
<%
}

%>
</form>
</table>
<table border="0" width="400" align="center">
<tr align="center">
<td height="40">
<input type="button" name="input" value="返 回" onclick="history.go(-1)" class="button">
</td>
<td height="40">
<input type="button" name="input" value="添 加" onclick="add()" class="button">
</td>
<td height="40">
<input type="button" name="input" value="修 改" onclick="mod()"class="button">
</td>
<td height="40">
<input type="button" name="input" value="删 除" onclick="del()" class="button">
</td>
</tr>
</table>
</body>
<script language="javascript">
function add()
{
document.form.action="group_add.jsp";
document.form.method="post";
document.form.submit();
}
function mod()
{
var j=0;
var flag;
flag=false;
if (form.chkemp.length==undefined)
{
if (form.chkemp.checked)
flag=true;
}
for(i=0;i<form.chkemp.length;i++)
{
if(form.chkemp[i].checked)
{
flag=true;
j++;
}
}
if(j>1)
flag=false;
if(flag==false)
{
alert("请选择一条要修改的记录.");
return false;
}
document.form.action="group_mod.jsp";
document.form.method="post";
document.form.submit();
}

function del()
{
var flag;
flag=false;
if (form.chkemp.length==undefined)
{
if (form.chkemp.checked)
flag=true;
}
for(i=0;i<form.chkemp.length;i++)
{
if(form.chkemp[i].checked)
{
flag=true;
break;
}
}
if(flag==false)
{
alert("请选择您需要删除的记录");
return false;
}
if(!window.confirm("删除该组会删掉该组下所有朋友,确认删除(yes/no)"))
return false;
document.form.action="group_del.jsp";
document.form.method="post";
document.form.submit();
return true;
}
</script>
</html>
<%
conn.freeconnection(con);
%>

改进如下:
package hzdq.fdjc.common;

import java.sql.*;
import java.util.*;

/**
* title:分页
* description:
* copyright: copyright (c) 2004
* company:
* author:颜喜班
* @version 1.0
*/
public class splitpager
{
/*
* _sql_str:传入的sql语句
* _total_records: 总记录数目
* _pagesize: 每页显示的记录数目
* _page: 所分的逻辑页数
*/
private connection con=null;
private statement stmt=null;
private resultset rs=null;
private resultsetmetadata rsmd=null;
private string _sql_str;
private int _total_records;
private int _pages;
private int _pagesize;
public void setconnection(connection con)
{
this.con=con;
if (this.con == null)
system.out.println("failure to get a connection!");
else
system.out.println("success to get a connection!");
}
public void initialize(string sqlstr,int pagesize)
{
this._sql_str=sqlstr;
this._pagesize=pagesize;
try{
stmt=this.con.createstatement(resultset.type_scroll_insensitive, resultset.concur_read_only);
rs=stmt.executequery(this._sql_str);
rsmd=rs.getmetadata();
if (rs!=null)
{
rs.last();
this._total_records = rs.getrow();
rs.first();
this._pages = (this._total_records - 1) / this._pagesize + 1;
}
}
catch(sqlexception e){system.out.println(e.tostring()); }
}
public vector getpage(int ipage){
vector vdata=new vector();
int n=ipage;
int m=0;
m=(n-1)*this._pagesize+1;
try{
if (rs!=null)
{
//if (n!=1) {rs.absolute(m);}
rs.absolute(m);
for(int i=0;i<this._pagesize;i++){
string[] sdata=new string[6];
for(int j=0;j<rsmd.getcolumncount();j++)
{
sdata[j]=rs.getstring(j+1);
}
if (sdata==null)
{
break;
}
vdata.addelement(sdata);
rs.next();
}
}
rs.close();
stmt.close();
}
catch(sqlexception e){system.out.println(e.tostring()); }
return vdata;
}
public int getpages()
{
return this._pages;
}
public int gettotalrecords()
{
return this._total_records;
}

}
 
 
上一篇: 川石用java写的留言板原代码    下一篇: 改进后的英文字母打字游戏
  相关文档
实例讲解java语言利用搜索引擎收集网址 11-16
java applet实现声音和图像的协调 11-16
在javascript程序中整合java函数 11-16
java学习之神奇的i=i++ 11-17
在oracle中存取blob对象实现文件的上传和下载 11-17
实例解析:在java语言中对文件操作大全 11-16
j2se综合——对final的一点认识 11-17
java日期格式化 11-17
jdk5.0 tomcat5.0配置全攻略 11-17
jsf(javaserverfaces)介绍 11-17
springvs.hivemind优点缺点大比拼 11-17
castor jdo 入门 11-17
javascript如何与applet通讯 11-17
什么是线程? 11-17
java与正则表达式(2年级之1) 11-17
length 属性 (array) 11-16
使用档案文件提高applet的加载速度 11-16
java xml教程(附:源程序a) 11-17
intellij idea 5.1 发布 11-17
java核心代码例程之:(jaxp) cart.xml 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息