自写的分页有什么不对
帮我看看吧,我不知道是哪错了.
<!-- index.jsp -->
<%@ page contentType= "text/html;charset=gbk " %>
<%@ page import= "java.sql.* " %>
<jsp:useBean id= "cn " class= "dbManager.Conn " scope= "page "/>
<html>
<head>
<title> jsp实现分页 </title>
</head>
<body>
<%
int count=cn.getCount();
String pages=request.getParameter( "curpage ");
int intPage;
if(pages==null||pages.equals( " ")){
intPage=0;
}else{
//intPage=Integer.parseInt(pages);
}
int countPage=count/3;
if(countPage%3> 0) countPage++;
if(intPage <1) intPage=1;
if(intPage> countPage) intPage=countPage;
ResultSet rs=cn.getRecord(intPage);
out.print( " <table> ");
out.print( " <tr> ");
out.print( " <td> ID </td> <td> OrderID </td> <td> EmployeeID </td> <td> shipCity </td> <td> shipName </td> ");
out.print( " </tr> ");
for(;rs.next();){
out.print( " <tr> ");
out.print( " <td> "+rs.getInt(1)+ " </td> ");
out.print( " <td> "+rs.getString(2)+ " </td> ");
out.print( " <td> "+rs.getString(3)+ " </td> ");
out.print( " <td> "+rs.getString(4)+ " </td> ");
out.print( " <td> "+rs.getString(5)+ " </td> ");
out.print( " </tr> ");
}
out.print( " <tr> ");
out.print( " <td> <a href=index.jsp?curpage= "+intPage-1+ "> 上一页 </a> </td> ");
out.print( " <td> <a href=index.jsp?curpage= "+intPage+1+ "> 下一页 </a> </td> ");
%>
</body>
</html>
package dbManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Statement;
public class Conn{
Connection dbConn=null;
Statement stmt=null;
public Conn(){
String driverName= "com.mysql.jdbc.Driver ";
String conUrl= "jdbc:mysql://localhost:3306/Mydemo?useUnicode=true&characterEncoding=GBK ";
try{
Class.forName(driverName).newInstance();
try{
dbConn=DriverManager.getConnection(conUrl, "root ", "admin ");
}catch(Exception ex){
System.out.println(ex.toString());
}
}catch(Exception ex){
System.out.println(ex.toString());
}
}
public int getCount(){
int count=0;
if(dbConn!=null){
try{
stmt=dbConn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery( "select count(*) from employee ");
count=rs.getInt(1);
rs.close();
stmt.close();
}catch(Exception ex){
System.out.println(ex.toString());
}
}
return count;
}
public ResultSet getRecord(int intPage){
ResultSet rs=null;
try{
stmt=dbConn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ_ONLY);
String sql= "select top 3 * from employee where id not in(select top "+((intPage-1)*2)+ " id from employee) ";
rs=stmt.executeQuery(sql);
}catch(Exception ex){
System.out.println(ex.toString());
}
try{
stmt.close();
}catch(Exception ex){
System.out.println(ex.toString());
}
return rs;
}
}
[解决办法]
数据库连接关闭了
RS应该也被级联关闭了
所以取不到值了
[解决办法]
String pages=request.getParameter( "curpage ");
// 在第一次的时候 根本就没有请求,也就没有参数curpage.然后你通过request获得,应该会报异常吧。
改成
try{
String pages=request.getParameter( "curpage ");
int intPage;
if(pages==null||pages.equals( " ")){
intPage=0;
}else{
//intPage=Integer.parseInt(pages);
}
}
catch(Exception e){
intPage=0;
}
-----------------------------------------
我想应该就是这个原因了吧
[解决办法]
String pages=request.getParameter( "curpage ");
curpage 你定义是INT型吧,而getParameter()里面的参数只能是String类型的
先把curpage转换成String,应该就没问题了
String number = String.valueOf(curpage);
String pages=request.getParameter(number);
[解决办法]
应该不是 jjoohhnn13()的原因。
把你修改后的代码在发出来看看
[解决办法]
出售以下资料、代码
1.JSP编程技巧百问集锦(100个问题;一个问题一段代码) 报价:30 RMB
2.Asp.Net编程技巧百问集锦(100个问题;一个问题一段代码) 报价:30 RMB
3.JavaScript编程技巧百问集锦(一个问题一段代码) 报价:20 RMB
4. <在线书店系统> 大解密(jsp+javabean+servlet Web版 全套源码 安装即用) 报价:150 RMB
5. <办公自动化系统> 大解密(jsp+javabean+servlet Web版 全套源码 安装即用) 报价:300 RMB
需要者请联系:e_mail:fzlotuscn@yahoo.com.cn QQ:595563946
[解决办法]
int count=cn.getCount();这个cn是哪里来的啊????
out.print( " <td> <a href=index.jsp?curpage= "+intPage-1+ "> 上一页 </a> </td> ");
这里intPage-1要用括号扩起来
out.print( " <td> <a href=index.jsp?curpage= "+(intPage-1)+ "> 上一页 </a> </td> ");
[解决办法]
out.print( " <td> <a href=index.jsp?curpage= "+intPage-1+ "> 上一页 </a> </td> ");
out.print( " <td> <a href=index.jsp?curpage= "+intPage+1+ "> 下一页 </a> </td> ");
加个括号
out.print( " <td> <a href=index.jsp?curpage= "+(intPage-1)+ "> 上一页 </a> </td> ");
out.print( " <td> <a href=index.jsp?curpage= "+(intPage+1)+ "> 下一页 </a> </td> ");