服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

jsp/javabean分页列出数据

我的第一个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>条记录&nbsp;当前<font color=red><%= nowpages %>/<%= pagecount %></font>页&nbsp;
  <% 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 />
&copy; 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,呵呵

扫描关注微信公众号