我的第一个jsp分页代码
jsp文件:pagedata.jsp //显示数据
javabean:dataconn.java //连接数据库
javabean:getcount.java //获得数据记录数
dataconn.java文件内容:
package aliang_org;
import java.sql.*;
public class dataconn{
public static connection getdataconn() {
connection conn = null;
try {
class.forname("com.microsoft.jdbc.sqlserver.sqlserverdriver").newinstance();
conn = drivermanager.getconnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=your","your","your");
}
catch(exception ex) {
ex.printstacktrace();
}
return conn;
}
}
getcount .java文件内容:
package aliang_org;
import java.sql.*;
import java.util.*;
import java.io.*;
public class getcount {
private connection conn;
public getcount()throws exception{
conn = dataconn.getdataconn();
}
public int getcounter()throws exception{
int ret = 0;
statement stmt = conn.createstatement();
resultset rset = stmt.executequery("select count(*) from userinfos");
while(rset.next()){
ret = rset.getint(1);
}
return ret;
}
}
pagedata.jsp 文件内容:
<%@ page contenttype="text/html; charset=gb2312" language="java"%>
<%@ page import = "aliang_org.*"%>
<%@ page import = "java.util.*"%>
<%@ page import = "java.io.*"%>
<%@ page import = "java.sql.*"%>
<html>
<head>
<title>
jsp/javabean分页列出数据
</title>
</head>
<body bgcolor="#ffffff">
<h1>jsp/javabean分页列出数据</h1>
<hr />
<jsp:usebean id="dataconnection" class="aliang_org.dataconn" scope="page" />
<jsp:usebean id="getcounter" class="aliang_org.getcount" scope="page" />
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr align="center" bgcolor="#00ffff">
<td>id序号</td>
<td>用户名</td>
<td>密码</td>
<td>电子信箱</td>
<td colspan="2">操作选项</td>
</tr>
<%
int nowpages;//当前页
int pages;//请求页数
int countperpage = 10 ; //每页显示条数
int pagecount;//总页数
int recordcount = getcounter.getcounter(); //recordcount为总记录数
pagecount = (int)math.ceil((recordcount + countperpage-1) / countperpage);//算出总页数
//得到请求页
if(request.getparameter("pages") == null){
pages = 1;
}else{
pages = new integer(request.getparameter("pages")).intvalue();
}
//得到当前实际页面
if(pages > pagecount){
nowpages = 1;
}else{
nowpages = pages;
}
//获取记录集
connection conn = dataconnection.getdataconn();
resultset rs = conn.createstatement().executequery("select top "+ countperpage +" * from userinfos where id not in (select top "+ (nowpages-1)*countperpage +" id from userinfos order by id desc) order by id desc");
while(rs.next()){
int id = rs.getint("id");
string username = rs.getstring("username");
string password = rs.getstring("password");
string email = rs.getstring("email");
%>
<tr>
<td align="center"><%= id %></td>
<td><%= username %></td>
<td><%= password %></td>
<td><%= email %></td>
<td align="center"><a href="modify.jsp?id=<%= id %>">修改</a></td>
<td align="center"><a href="delete.jspid=<%= id %>">删除</a></td>
</tr>
<%
}
//关闭连接
rs.close();
conn.close();
%>
<form method="get">
<tr align="right">
<td colspan="6">共有<font color=red><%= recordcount %></font>条记录 当前<font color=red><%= nowpages %>/<%= pagecount %></font>页
<% if(pagecount > 1){ %>
<% if(pages > 1){%>
<a href="">首页</a>
<%}if(pages < pagecount){%>
<a href="?pages=<%= nowpages+1 %>">下一页</a>
<%}if(pages != 1){%>
<a href="?pages=<%= nowpages - 1 %>">上一页</a>
<%}%>
<a href="?pages=<%= pagecount %>">尾页</a>
<% } %>跳转到
<select name="pages" onchange="javascript:this.form.submit();">
<% for(int i=1;i<=pagecount;i++){%>
<option value="<%= i %>" <% if(nowpages == i){%>selected<% } %>><%= i %></option>
<% } %>
</select>页</td>
</tr>
</form>
</table>
<hr />
© 2004 aliang.org startjava
</body>
</html>
还有不要忘了把sql-jdbc驱动安装了,并拷贝c:/program files/microsoft sql server 2000 driver for jdbc/lib文件夹到web目录下的web-inf下面。
最近刚刚开始搞java,还请各位大虾赐教email:webmaster@aliang.org,呵呵
闽公网安备 35060202000074号