..........................
String sql="select*from contact";
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
//一页显示的记录数
int intPageSize;
//记录的总数
int intRowCount;
//总页数
int intPageCount;
int intPage;//待显示的页码 String strPage;
int i;
//设置一页显示的记录数
intPageSize=4;
//取得待显示的页码
strPage=request.getParameter("page"); //判断strPage是否等于null,如果是,显示第一页数据
if(strPage==null)
{
  intPage=1;
  }
   else{
    //将字符串转化为整型
intPage=java.lang.Integer.parseInt(strPage);
}


if(intPage<1){
  intPage=1;
  }
  //获取记录总数
  rs.last();
  intRowCount=rs.getRow();
  //计算页总数
  intPageCount=(intRowCount+intPageSize-1)/intPageSize;
  //调整待显示的页码
  if(intPage>intPageCount)intPage=intPageCount;
  if(intPageCount>0)
  {
     //将记录指针定位到待显示页的第一条记录上
 rs.absolute((intPage-1)*intPageSize+1);
 }
    //下面用于显示数据
i=0;
while(i<intPageSize && !rs.isAfterLast())
{
   %>
   <tr>
     <td><%=rs.getString("userName")%></td>
 <td><%=rs.getString("mobile")%></td>
 <td><%=rs.getString("phone")%></td>
 <td><%=rs.getString("mail")%></td>
 <td><%=rs.getDate("lastcontact")%></td>
 <td><%=rs.getString("memo")%></td>
  </tr>
 <%
    rs.next();
i++;
}
//关闭连接,释放资源
rs.close();
stmt.close();
conn.close();
%>
<div align="center">
共<%=intRowCount%>个记录,分<%=intPageCount%>页显示,当前页是:第<%=intPage%>页
<%
   for(int j=1;j<=intPageCount;j++)
   {
     out.print("&nbsp;&nbsp;<a href='test67.jsp?page="+j+"'>"+j+"</a>");  }
 %>
  </div>
 <%
    }
  catch(Exception e)
  {
     e.printStackTrace();
 }
 %>
</table>
</center>

</body>
 </html>其中的 "String strPage“是不是和"int intPage”一样,都是定义的待显示的页码变量,只不过类型不一样,一个是int型 一个是String型,如果是为什么定义两种不同的类型哪。
strPage=request.getParameter("page"),这段代码是不是说从本代码中获取参数呀,括号中的"page“参数是从哪获取的呀,我在本代码中并没有定义page属性或变量呀。(我这段代码的名称就是”test67.jsp“)"strPage“为什么不可以换成"intPage"."strPage==null”是什么意思,为什么如果等于null,就显示第一页哪。null不是不存在任何对象吗。如果不等于null,字符串为什么要转变为整型哪。;<a href='test67.jsp?page="+j+"'>"+j+"</a>中page="+j+" j两边的'+'什么意思,在什么情况下要这样写呀,让大家见笑了,问了这么多“为什么”。我对上面的理解一知半懂,想得到大家的帮助理解加深些。谢谢了

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【gjk11】截止到2008-07-09 11:35:02的历史汇总数据(不包括此帖):
    发帖的总数量:17                       发帖的总分数:390                      每贴平均分数:22                       
    回帖的总数量:10                       得分贴总数量:1                        回帖的得分率:10%                      
    结贴的总数量:17                       结贴的总分数:390                      
    无满意结贴数:2                        无满意结贴分:70                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:11.76 %               无满意结分率:17.95 %                  
    敬礼!
      

  2.   

    其中的 "String strPage“是不是和"int intPage”一样,有两个是因为一个是存在网页中的参数变量,用字符串传递简单。第一次进入页面的时候由于是默认的所以都是第一页,这样只是做一个区分而已
      

  3.   

    楼主先看看jsp ,servlet什么的吧。。
      

  4.   

    你的地址格式是这样的:test67.jsp?page=3
    page参数就是这个请求里面带的,“?”后面的就是参数呗。你通过request.getParameter("page")获取到的是String类型的,而你要进行计算的话,必须要转成数值型的才可以。"strPage==null” 就是说,你的请求没有带page这个参数,可能只是这样:test67.jsp。 如果是没有page参数,也就是说用户没有指定要看第几页,那么默认给他第一页的数据。至于那个+j+,你这样能看明白吗? String str = "aaa" + "bbb" + "ccc"。同样,这个加号只是表示字符串相加而已。
      

  5.   

    String strPage 和 int intPage strPage=request.getParameter("page");  
    这个page是页面中一个属性的名字,比如<input  type = "text" name="page">
    是通过这个name来取得改文本的值赋给strpage ,这个strpage应该是页码显示当前页码的值 intPage 是显示的页码。
    intPage=java.lang.Integer.parseInt(strPage); 将页码接收来的strpage的String 类型转换成int 形式 或者当参数传到后台去读取当前用户需要看的页码值。
    if(strPage == null)
    就是当前没有页码,如果不将intPage =1; 那么传到后台读取的时候会报空指针异常。
    而且分页的时候不会从页码为0时候开始吧(即strPage == null的时候 )~~~~所以默认为1.<a href='test67.jsp?page="+j+"'>"+j+" </a>
    这个问题 href='test67.jsp 这个LZ知道意思吧。
    后面是说 要传到这个页面的页码值是 一个 page = "+j+"的值,
    而j值是一个参数形式 赋值给page 的  所以是一个拼接的形式
    即 当j=1 的时候  在test67.jsp中显示 page = 1的第一页内容。不知道是否明白哈~~
      

  6.   

    那个page参数的问题就不用解释了,刚才疏忽大意没看到,后面定义的有。我知道怎么用的
      

  7.   

    其中的 "String strPage“是不是和"int intPage”一样,都是定义的待显示的页码变量,只不过类型不一样,一个是int型 一个是String型,如果是为什么定义两种不同的类型哪。 
    原来那个程序员太累了,项目太赶了
      

  8.   

    这段代码好眼熟啊...
    String strPage 主要用在下面这句代码上
    intPage = Integer.parseInt(strPage);
    其实4楼已解释的很清楚了!!