在jsp中实现分页

王朝java/jsp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

page是关键字,不能当变量。

conn.jsp

<%

String sDBDriver = \"COM.ibm.db2.jdbc.app.DB2Driver\";

String sConnStr = \"jdbc:db2:faq\";

Connection conn = null;

Statement stmt = null;

ResultSet rs=null;

try {

Class.forName(sDBDriver);

}

catch(java.lang.ClassNotFoundException e) {

out.print(\"faq(): \" + e.getMessage());

}

try{

conn = DriverManager.getConnection(sConnStr,\"wsdemo\",\"wsdemo1\");

stmt = conn.createStatement();

}catch(SQLException e){

out.print(e.toString());

}

%>

query.jsp

<%@ page language=\"java\" import=\"java.sql.*\" %>

<%@ page contentType=\"text/html; charset=gb2312\" %>

<%@ include file=\"conn.jsp\" %>

<%

......

int pages=0;

int pagesize=10;

ResultSet result = null;

ResultSet rcount = null;

pages = new Integer(request.getParameter(\"pages\")).intValue();

if (pages>0)

{

String sql=\" state=\'我不傻\'\";

int count=0;

try {

rcount = stmt.executeQuery(\"SELECT count(id) as id from user where \"+sql);

catch(SQLException ex) {

out.print(\"aq.executeQuery: \" + ex.getMessage());

}

if(rcount.next())

count = rcount.getInt(\"id\");

rcount.close();

if (count>0)

{

sql=\"select * from user where \"+sql;

try {

result = stmt.executeQuery(sql);

}

catch(SQLException ex) {

out.print(\"aq.executeQuery: \" + ex.getMessage());

}

int i;

String name;

// result.first();

// result.absolute((pages-1)*pagesize);

// 此方法jdbc2.0支持。编译通过,但执行不过,不知是不是跟驱动有关,只好用下面的笨办法。

for(i=1;i<=(pages-1)*pagesize;i++)

result.next();

for(i=1;i<=pagesize;i++) {

if (result.next()) {

name=result.getString(\"name\");

out.print(name);

}

result.close();

int n= (int)(count/pagesize);

if (n*pagesize<count) n++;

if (n>1)

{for(i=1;i<=n;i++)

out.print(\"<a href=query.jsp?pages=\"+i+\">\"+i+\" </a>\");

}

}

}

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航