首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

自写的分页有什么不对解决方法

2012-03-13 
自写的分页有什么不对帮我看看吧,我不知道是哪错了.!--index.jsp--%@pagecontentType text/htmlchar

自写的分页有什么不对
帮我看看吧,我不知道是哪错了.
<!--   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> ");

热点排行